2016-05-23 3 views
0

コンテンツが表示されないコンテンツは、下記のスクリーンショットに示すように、オートプレイリストです。オートコンプリートの問題:コンテンツが表示されない

Autocomplete Error

私はこの応答を取得しています。

[{ "EMP_NUMBER":1、 "FNAME": "アルスラーン"、 "LNAME": "ハッサン"}、{ "EMP_NUMBER":2、 "FNAME": "Muneeb"、 "LNAME": "fname": "hr"、 "lname": "user"}、{"emp_number":4、 "fname": "test"、 "lname": "emp_number" 「} .......... ]は.......それはここより見やすくするために除去

私のJSコード:

$("#search-emp").autocomplete(
{ 
    source: function (request, response) 
    { 
     var form_data = { 
      ajax    : '1', 
      name    : $("#search-emp").val(), 
      actioncall   : 'search-emp' 
     }; 

     $.ajax({ 
      //contentType: "application/json", 
      type: "POST", 
      dataType: 'json', 
      url: "_ajax.php", 
      data: form_data, 
      success: function(data) 
      { 
       response(data); 
      } 
     }); 
    }, 
    minLength:3, 
    select:function(evt, ui) 
    { 
     alert(ui.item.emp_number); 
    } 
}); 

私が表示したいですfnameおよびlnameを選択してinputフィールドに選択します。

+0

ができます'はconsole.log(データ)を、どのようなサーバーの応答を確認するために疑問を追加します。リストには、表示されるフィールドの名前または特定のキーが必要です。 –

+0

@DanielDudas私の質問に答えてくれました。今見てください。 – Hassaan

答えて

1

jQueryオートコンプリートには、labelvalueの2つのフィールドが必要なため、問題です。 labelの内容がオートコンプリートに表示されます。

  1. 変更、サーバーのようなJSONを返すように:あなたのサーバがキーに他の名前を返すので

    あなたは2つのオプションを持っている[{"emp_number":1,"fname":"Arslan","lname":"Hassan", "label":"Arslan Hassan", "value": "Arslan Hassan"},....]

  2. それともから成功のコールバックに

    ajaxは、このフィールド(labelvalue)を持つ配列を作成し、この配列をresponse()コールバックに渡します。

あなたはここで多くの情報を見つけることができます: ``応答(データ) `前http://api.jqueryui.com/autocomplete/#option-source

+0

ありがとうございます。私はあなたが提案するように 'json'レスポンスを変更しました。それは1つの問題だけではありませんでした。 'input'フィールドにはFirst nameだけが入っています。 – Hassaan

+0

@Hassaanあなたはlastnameを 'label'に連結する必要がありますので、両方ともオートコンプリートで表示されます。 –

関連する問題