默认情况下,JQueryUI的自动完成将空格编码为“+”。我的远程源期望编码为“%20”。是否有可能改变空间编码的方式?可能更改JQueryUI自动完成的空间编码?
1
A
回答
1
的理念是:
- 使自动完成请求到服务器使用手动
$.ajax()
- 手工编写通过替换发送的数据“”与“%20”
- 以防止发送的数据的默认处理使用
processData: false
<input id="test">
$('#test').autocomplete
({
source: autocompleteRequest
});
function autocompleteRequest(request, response)
{
var inputString = request.term;
var preparedString = inputString.replace(/\s/g, "%20");
$.ajax({
url: "test/",
data: "str=" + preparedString,
processData: false
}).success(function(data)
{
response(data);
});
}
0
请尝试使用encodeURIComponent方法(样品)使一台服务器请求之前,
参见:http://nebsolutions.blogspot.in/2012/03/jquery-autocomplete-encoding-issue.html
+1
结果是双重编码的东西&“迈克尔情人节”最终成为“迈克尔%2520Valentine” – 2014-10-03 21:47:46
0
我无法复制你的问题,但作为ManoNamo说,你的问题很可能是现在的样子您将数据发送到您的服务器。 encodeURI和encodeURIComponent都适合您的目的。看到一个工作示例如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/jquery-wp-content/themes/jqueryui.com/style.css">
<script>
$(function() {
var availableTags = [
"ActionScript KABAM",
"ActionScript",
];
$("#tags").autocomplete({
source: availableTags,
change: function(event, ui) {
console.dir(encodeURIComponent(ui.item.value));
console.dir(encodeURI($("input#tags").val()));
}
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
</body>
</html>
+0
这最终将双重编码的事物和“迈克尔瓦伦丁”结束为“迈克尔%2520Valentine” – 2014-10-03 21:48:12
相关问题
- 1. jQueryUI自动完成 - 编码问题
- 2. jQueryUI自动完成
- 3. 扩展jqueryui自动完成功能
- 4. 是否可以更改JQuery的JQueryUI自动完成生成的Url?
- 5. asp.NET jqueryUI自动完成
- 6. JqueryUi自动完成问题
- 7. jQueryUI自动完成id值
- 8. jQueryUI自动完成IE5
- 9. JQueryUI自动完成筛选
- 10. JqueryUI自动完成PHP JSON
- 11. jQueryUI的自动完成功能可点击结果
- 12. JqueryUi自动完成组合框更改不起作用
- 13. Android自动完成空间后才能完成?
- 14. 如何使jqueryui自动完成实际自动完成?
- 15. jQueryUI自动完成与MVC3:发布自动完成值
- 16. 在jQueryUI自动完成中创建minLength异常自动完成
- 17. jQueryUI自动完成并不真正自动完成
- 18. jQueryUI的的自动完成HTML位置
- 19. 更改jQuery自动完成
- 20. jQueryUI的自动完成功能不能正常使用的IE9
- 21. 移动jQueryUI自动完成位置
- 22. 针对JQueryUI的JSON自动完成 - Rails
- 23. jQueryUI的自动完成射击停止
- 24. JqueryUI在Rails3中的自动完成
- 25. jqueryui自动完成的建议数量
- 26. jQueryUI的自动完成:饼干在IE9
- 27. jQueryUI的自动完成响应数据
- 28. 显示HTML中自动完成jQueryUI的
- 29. jQueryUI的自动完成不了解JSON?
- 30. jQueryUI的自动完成不工作PHP
一个可以玩的例子会很棒。你可以在http://jsfiddle.net发布一个例子 – 2014-09-29 17:54:20
@Vega:默认情况下,并不确定它需要一个,因为JQuery-UI的自动完成将空格编码为'+'。 – 2014-09-29 18:28:02
如果您使用'source:“http://example.com/”',尝试使用'source:function(request,successCallback){$ .ajax(...)。done( successCallback); }'。 – Regent 2014-09-30 10:36:14