0

私は jQuery の初心者で、オートコンプリート検索の助けが必要です。

以下を返す REST サービスを呼び出しています。

    {
       "成功":"真",
       "errmsg":"",
       "リスト":[
          {
             "ItemDesc":"18 16GA CMP GALV CORR PI",
             "商品番号":"78398",
             "製品番号":"1318CMP16",
             "エイリアス":"70370"
          }、
          {
             "ItemDesc":"18 16GA CMP GALV バンド",
             "ItemNumber":"83063",
             "製品番号":"1318CMP16BG",
             "エイリアス":"18ACCMPB"
          }、
          {
             "ItemDesc":"48 CMP バンド 12G",
             "ItemNumber":"120404",
             "製品番号":"1348CMPB",
             "エイリアス":"CMB1248"
          }
       ]
    }

これらの結果を検索し、「ItemDesc」をリストに表示して、ユーザーがクリックできるようにするために、オートコンプリートを取得しようとしています。

      $(関数 () {
          $("#search").autocomplete({
              //ソース: "/ItemSearch/994/092468/CMP"
          });
      });

現在、オートコンプリート リストに表示されるのは "true" (REST 呼び出しからの JSON 結果の "success" の値) だけです。返された「ItemDesc」のリストを表示するにはどうすればよいですか?

4

1 に答える 1

0

オートコンプリートでjQuery.ajax、サービスへのリクエストを行うために使用していると思います。その場合は、ajaxdataType:設定をjsonに設定し、設定で関数をsuccess:設定してから、その関数を使用.mapして、返されたデータを必要な形式に処理します。この良い例は、jQuery ドキュメントにあります以下は、そのページの例のソースからの関連するスニペットです。

    $( "#city" ).autocomplete({
  source: function( request, response ) {
    $.ajax({
      url: "http://ws.geonames.org/searchJSON",
      dataType: "jsonp",
      data: {
        featureClass: "P",
        style: "full",
        maxRows: 12,
        name_startsWith: request.term
      },
      success: function( data ) {
        response( $.map( data.geonames, function( item ) {
          return {
            label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
            value: item.name
          }
        }));
      }
    });
于 2013-11-07T22:25:09.443 に答える