我正在使用以下代码,它始终会提取availableTags
中定义的硬编码数据。如果我从C#WebApi动态加载数据,它仍然会拾取旧数据,即ActionScript和AppleScript。
如您所见,我正在打印``前''和``后''值,并且它们都正常工作,即我可以看到它将新数据分配给availableTags
,但自动完成功能仍然适用于旧数据。我可以在availableTags
中定义多少个项目?因为动态地从我的代码中获取了504个项目,所以这可能是问题吗?
我究竟做错了什么?
<input id="tags">
<script>
var availableTags =
[
"ActionScript",
"AppleScript"
];
$("#tags").autocomplete
({
source: availableTags
});
$.getJSON("MyController/GetAllTags")
.done(function (data)
{
alert("Before="+ availableTags);
availableTags = data;
alert("After="+ availableTags);
});
</script>
最佳答案
尝试这个
<input id="tags">
<script>
var availableTags =
[
"ActionScript",
"AppleScript"
];
$("#tags").autocomplete
({
source: availableTags
});
$.getJSON("MyController/GetAllTags")
.done(function (data)
{
$("#tag").autocomplete('option', 'source', data)
});
</script>
编辑1:更新代码