1

jqueryui autocomplete を使用していますが、$.ajax() を使用して Json オブジェクト項目にアクセスする一般的な方法があるかどうかを知りたいです。以下の例では、テキスト/値のペアは item.Title と item.AlbumId であり、正常に動作します。しかし、アイテム[0]、アイテム[1]のようにアクセスする方法があるかどうか知りたいです。試してみましたが、うまくいきません。

    // jqueryui autocomplete configuration
    $(element).autocomplete({
                   minLength: minimumTextLength, 
                   source: function (req, response) {    

                       // call $.ajax()
                       $.ajax({
                           url: filterUrl,
                           type: "POST",
                           dataType: "json",
                           data: { term: textbox.val() },
                           success: function (data) {
                               response($.map(data, function (item) {

                                   return { label: item.Title, value: item.AlbumId }; 
                               }));
                           }
                       });

                   }
               }); //  end of autocomplete()
4

1 に答える 1

0

を使用して間接的にこれを行うことができますObject.keys。そうすれば参照できますitem[keys[index]]

response($.map(data, function (item) {
    var keys = Object.keys(item);
    return { label: item[keys[0]], value: item[keys[1]] }; 
}));

Object.keys は最新のブラウザー(IE9+) でのみサポートされていることに注意してください。ただし、いつものように、必要に応じてポリフィルできます。

于 2013-10-22T22:45:24.257 に答える