我想实现一个jQuery自动完成控件到我们的HTML页面,但我会从URL资源接收我的JSON。当JSON来自URL时,自动完成功能无法正常工作?
这是代码。如果我将源设置为内联JSON
数组(source: data
),那么自动完成功能很好。
如果我将源设置为WCF调用(source: "http://MyServer:86/Service1.svc/GetStates"
),那么当我输入任何字母时将显示列表,但过滤/自动完成功能不起作用。
当JSON来自URL时,为什么不自动完成工作?
URL中的json看起来像这样:[{"value":"AK","label":"Alaska"},{"value":"AL","label":"Alabama"}]
,与内联json格式完全相同。
<!DOCTYPE html>
<html>
<head>
<title>jQuery UI Autocomplete: Using Label-Value Pairs</title>
<link href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/themes/ui-darkness/jquery-ui.min.css" rel="stylesheet">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>
</head>
<body>
<p>Default Behavior<br>
<input id="autocomplete1" type="text" placeholder="U.S. state name" name="code"></p>
<script>
var data = [
{ value: "AL", label: "Alabama" },
{ value: "AK", label: "Alaska" },
{ value: "AZ", label: "Arizona" },
{ value: "AR", label: "Arkansas" },
{ value: "CA", label: "California" }
];
$(function() {
$("#autocomplete1").autocomplete({
source: "http://MyServer:86/Service1.svc/GetStates",
dataType: 'json'
});
});
</script>
</body>
</html>
你看过开发控制台中的输出吗?发生了任何错误,或者源代码是否收到网络请求? – forrestmid
没有javascript错误。组合框填充了正确的值。问题在于它没有执行自动完成。 – rbhat