2012-01-07 6 views
0

私は(int,string)のペアをJQueryの自動補完ボックスに表示する必要があります。ユーザーが可能な文字列値の1つを選択すると、対応するint値を取得する必要があります。これは可能ですか?はいの場合、どうですか?int値を選択したテキスト値に関連付ける方法はありますか?

+0

オートコンプリートプラグインは何を使用していますか?何を試しましたか? –

+0

私はJavascriptの専門家ではありません。私はhttp://docs.jquery.com/Plugins/Autocompleteを使いたいと思っていましたが、別のユーザーフレンドリーなソリューションがあれば、それを検討します。 – JVerstry

+0

そのプラグインは、[jQueryUIバージョン](http://www.jqueryui.com/demos/autocomplete)を使用して非推奨になりました。あなたのためにその1つを使用していますか?また、ローカルデータまたはリモートデータを使用していますか? –

答えて

1

非常によく、しかし、何かが自動補完されたときにselect eventにいくつかの調整をしなければならないと、おそらく隠し入力フィールドにint型の値を格納しますので、対応するint型の値を与えるように設計されていないですjQueryUI autocomplete作品。

もう1つの方法は、バックエンドで、選択した文字列を使用してint値をルックアップすることです。これは今私がやっている方法です。

+0

私は選択されたイベントを持っていれば、私の配列からint値を検索しなければならないのではと心配しましたが、大丈夫です。 – JVerstry

0

はいそれは可能おい

が、これはjQueryのコードです:

$("#txt1").autocomplete({ 
    source: function (request, response){ 
     $.ajax({ 
      type: "POST",       
      url: "YourAddress",   
      contentType: "application/json; charset=utf-8", 
      dataType: "json",              
      success: function (data) { 
      response($.map(data.d, function (item) { 
       return { 
        id: item.Value, 
        value: item.Text 
       } 
      })) 
     } 
     }); 
    }, 
    select: function (event, ui) { 
     $("#hdnId").val(ui.item.id);//Put Id in a hidden field 
    } 
}); 

は、Ajaxリクエストあなたを呼び出し、JSONデータにこのような何かを返す:

[{"Value":val1,"Text":"text1"}, 
{"Value":val2,"Text":"text2"}] 

私はit.It作品をテスト偉大な人

幸運なことに、

関連する問題