我采用了一个 jsfiddle 示例,该示例正在使用本地数据数组执行我需要的操作,并尝试使用 jsfiddles 方法使其从远程数据中工作。
这是第一个能够在 http://jsfiddle.net/T45rQ/8/ 中键入多个“标签”的 jsfiddle
var tags = [
"example.com"
,"akamai.com"
,"2charts.com"
,"gmail.com"
,"jquery.com"
,"yahoo.com"
,"ymail.com"
,"hotmail.com"
];
results = $.ui.autocomplete.filter(tags, term);
这是显示相同但使用远程数据源的相同尝试 - 在@dc5 指出错误后使用正确的 JSON 格式进行更新。 http://jsfiddle.net/T45rQ/138/
var data = 'json=[{"label":"example.com","value":"example.com"},{"label":"akamai.com","value":"akamai.com"},{"label":"2charts.com","value":"2charts.com"},{"label":"gmail.com","value":"gmail.com"},{"label":"jquery.com","value":"jquery.com"},{"label":"yahoo.com","value":"yahoo.com"},{"label":"ymail.com","value":"ymail.com"},{"label":"hotmail.com","value":"hotmail.com"}]'
results = $.ui.autocomplete.filter(
$.ajax({
url:"/echo/json/",
data:data,
type:"POST",
success:function(response) {
console.log(response);
response
}
})
, term);
起初数据有问题,但@dc5 在下面评论并指出了 JSON 错误。现在我们只需要显示下拉功能,即使结果显示在控制台中并且似乎没有生成错误。
一旦结果起作用,我最终可以测试功能是否像以前一样工作,这是最终目标。