如何刷新jquery文本框自动完成数组?

时间:2014-06-15 20:21:41

标签: jquery ajax json

我听说没有goto声明这样的东西。我可能需要在函数中填充JSON和array.push。这听起来不对吗?我是否还需要在.change语句中调用该函数。

http://jsfiddle.net/w2QHz/4/

var tagsArray = []

$.getJSON("https://api.deckbrew.com/mtg/cards/typeahead?q=" + tags.value,function(result){
  $.each(result, function(i, field){
    tagsArray.push(field.name);
  });

  $( "#tags" ).autocomplete({
    source: tagsArray
  });  

  $( "#tags" ).change({
      // do some
  });

  });

1 个答案:

答案 0 :(得分:1)

将JSON字符串作为autocomplete的数据返回的最简单方法是使用remote datasource。这是一个例子:

$("#tags").autocomplete({
    "source": function (request, response) {
        var term = request.term || ''; // default to empty string
        $.getJSON('https://api.deckbrew.com/mtg/cards/typeahead', {
            "q": term
        }, function (data, status, xhr) {
            var names = data.map(function (value, index, array) {
                return value.name; // iterate through data and build new array from name
            }).sort(); // sort it
            response(names); // send it to autocomplete to use as datasource
        });
    }
});

并适用于[更新]小提琴:

http://jsfiddle.net/w2QHz/7/