我正在尝试按照http://jqueryui.com/autocomplete/#remote中的示例构建自动完成输入。到目前为止,这些代码适用于Opera,Firefox和Chrome,但不适用于IE8和IE9。以下是我的代码和服务器对TestData的响应。
过去几天一直在测试这些并没有成功。非常感谢这里的任何大师都可以提供帮助。
感谢。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Test</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
<script>
$(function() {
$( "#test" ).autocomplete({
source: "TestData",
minLength: 2
});
})
</script>
</head>
<body>
<div class="ui-widget">
<input id="test" />
</div>
</body>
</html>
来自服务器的响应标头
Key Value
Response HTTP/1.0 200
Server Development/1.0
Date Mon, 26 Nov 2012 02:49:31 GMT
Cache-Control no-cache
Content-Type text/html; charset=utf8
Content-Length 43
回应机构
[{"id":"1","value":"a1","label":"a1 test"}]
答案 0 :(得分:0)
为了更精细地控制Web服务实际返回的内容,我建议以这种方式实现:
$( "#city" ).autocomplete({
source: function( request, response ) {
$.ajax({
.............
success: function( data ) {
var transformedData = transformData(data);
// feeding back to jquery autocomplete
response( transformedData );
}
});
});
如果您在成功函数中设置断点,您应该能够在调试器中看到从Web服务获得的内容。