2012-02-27 6 views
3

私はオートコンプリートフィールドを持っていて、ソースは友人の配列に設定されています。多次元配列をjquery ui autocompleteに渡すにはどうすればよいですか?

GetFollowing(9, function(response) 
        { 
         if (response) 
         { 
          donor.following = response; 
          for (var i = 0; i < response.length -1; i++) 
          { 
           // make sure we have an image to display 
           if (response[i].image != null) 
           { 
            $("#following").prepend("<li title='" + response[i].firstname + " " + response[i].lastname + 
             "'><img src='<?php echo $baseUrl;?>/uploads/profile-pictures/" + response[i].image + 
             "' alt='" + response[i].firstname + " " + response[i].lastname + "'/></li>"); 

            // add to the friends array 
            if (! $.inArray(response[i].firstname + " " + response[i].lastname, friends)) 
             friends.push(response[i].firstname + " " + response[i].lastname); 
           } 
          } 
         } 
        }); 
        GetFollowers(9, function(response) 
        { 
         if (response) 
         { 
          donor.followers = response; 
          for (var i = 0; i < response.length -1; i++) 
          { 
           // make sure we have an image to display 
           if (response[i].image != null) 
           { 
            $("#followers").prepend("<li title='" + response[i].firstname + " " + response[i].lastname + 
             "'><img src='<?php echo $baseUrl;?>/uploads/profile-pictures/" + response[i].image + 
             "' alt='" + response[i].firstname + " " + response[i].lastname + "'/></li>"); 

            // Add to the friends array 
            friends.push(response[i].firstname + " " + response[i].lastname); 
           } 
          } 
         } 
         // setup jquery-ui autocomplete 
         $("#msg-to").autocomplete({source: friends}); 
        }); 

私の問題は、選択した値にIDを関連付ける必要があります。どのようにこれを行うことができますか?

答えて

5

http://jqueryui.com/demos/autocomplete/

あなたはより多くの概要をお読みください。

予想されるデータ形式のローカルデータから

データ、URLまたはコールバックは2つの バリアントで来ることができます。

  • ストリングの配列:

[ "Choice1", "Choice2" ]

  • ラベルと値の特性を持つオブジェクトの配列:

[ { label: "Choice1", value: "value1" }, ... ]

ラベルプロパティが提案メニューに表示されます。値は、ユーザーがメニューから何かを選択した後に入力要素に挿入されます。プロパティが1つだけ指定されている場合は、両方のプロパティが使用されます。値プロパティのみを指定した場合は、その値もラベルとして使用されます。

ラベルをテキスト表現に使用すると、選択内の項目あたりのIDの値が使用されます。

また、データバージョン(IDを含む非表示の入力)からのビジュアルバージョン(単語を表示する)に使用するテキストボックスは、datepickerウィジェットのもの(別名代替データ)と似ている必要があります。これは設定を使用してすべて操作できます。

関連する問題