1

ajax内のオートコンプリートが機能しない...ヘルプ

$.ajax({
    url: 'url',
    type: 'GET',
    dataType :'jsonp',
    async: false,
    crossDomain:true,
    success: function(data) {
        var resp = data.response;
        var availableTags="[";
        for (i = 0; i <= 10; i++) {
            var postSub = resp.messages.message[i].subject.$;
            if (i  < 10) {
                availableTags += postSub + ",";
            }
            else {
                availableTags += postSub;
            }
        }
        availableTags += "]";
        $("#tags").autocomplete({
            source: availableTags
        });
    }
});
4

2 に答える 2

1

availableTags は配列型ではなく文字列であるため、入力されません。配列として作成する必要があります。次のようにコードを変更します。

    var availableTags = "[";
for (i = 0; i <= 10; i++) {
    var postSub = resp.messages.message[i].subject.$;
    if (i < 10) {
        availableTags +="\"" +postSub + "\",";
    }
    else {
        availableTags +="\""+ postSub+"\"";
    }
}
availableTags += "]";
availableTags=eval(availableTags);
于 2013-11-14T10:12:07.957 に答える
0

sourceパラメータは URL を文字列として受け取り、このすべてを実行するため、AJAX リクエストを自分で行う必要はありません。これを試して:

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

オートコンプリート ソース パラメータ API

于 2013-11-14T09:52:47.430 に答える