我是一名业余程序员,所以对我很轻松。我试图只调用一次getJson来拉一个数组,然后让jquery自动完成使用它作为源。似乎这段代码永远不会调用处理程序。
<script>
$(function () {
var availableTags[];
$.getJSON("./Handler.ashx", function(data) {
availableTags = data;
});
$("#TextBox3").autocomplete({
source: availableTags
});
});
</script>
下面的代码有效,但我不希望js每次都调用处理程序。
<script>
$(function () {
$("#TextBox3").autocomplete({
source: "./Handler.ashx",
minLength: 3,
select: function (event, ui) {
$(this).val(ui.item.value);
}
});
});
</script>
答案 0 :(得分:2)
尝试这样的事情:
<script>
$(function () {
$.getJSON("./Handler.ashx", function(data) {
$("#TextBox3").autocomplete({
source: data
});
});
});
</script>
答案 1 :(得分:0)
AJAX调用是异步的,因此您尝试在数据到达之前使用它。使用回调函数中的数据:
$(function () {
$.getJSON("./Handler.ashx", function(data) {
$("#TextBox3").autocomplete({
source: data
});
});
});