2011-11-11 6 views
0

私は、キーと値を使用してJQuery候補ボックスを持っています。キーは保存された値です(userIdなど)。値はユーザー名などの値です。最初のJQueryの推奨値を設定する

空白のフィールドを使用すると効果的です。私はいくつかの文字を入力し、名前を選択し、値はHTTP要求で掲示される値として追加されます。さて、すでに値があるときに、フォームの提案をどのようにプレフィルする必要がありますか?保存されたuserIdを値として配置すると、suggestはuserIdを表示しますが、明らかにユーザー名を表示します。私も選択されたユーザー名をエコーし​​ようとしましたが、ユーザー名が変更されていない場合、投稿された値はユーザー名になります。

   <script> 
       <!-- 
       $(document).ready(function() { 
        $("#creatorUserId").autocomplete("Gateway.php?action=UserAction&subAction=suggest",{ 
         parse: function(data) { 
          var parsed = []; 
          data = data.data; 

          for (var i = 0; i < data.length; i++) { 
           parsed[parsed.length] = { 
            data: data[i], 
            value: data[i].key, 
            result: data[i].value 
           }; 
          } 

          return parsed; 
         }, 
         formatItem:function(item, index, total, query){ 
          return item.value; 
         }, 
         formatResult:function(item){ 
          return item.id; 
         }, 
         dataType: 'json' 
        }); 
       }); 
       --> 
       </script> 

<input type="text" name="creatorUserId" id="creatorUserId" value="3" size="40" /> 

どうすればこの問題を解決できますか?

+0

を試してみて、あなたが持っているコードを投稿してください。 –

+0

@RoryMcCrossanはコード –

答えて

0

この

<script> 
      <!-- 
      $(document).ready(function() { 
       $("#creatorUserId").autocomplete("Gateway.php?action=UserAction&subAction=suggest",{ 
        parse: function(data) { 
         var parsed = []; 
         data = data.data; 

         for (var i = 0; i < data.length; i++) { 
          parsed[parsed.length] = { 
           data: data[i], 
           key: data[i].key, 
           value: data[i].value 
          }; 
         } 

         return parsed; 
        }, 
        formatItem:function(item, index, total, query){ 
         return item.value; 
        }, 
        formatResult:function(item){ 
         return item.id; 
        }, 
        dataType: 'json' 
       }); 
      }); 
      --> 
      </script> 

+0

私のJavascriptとの違いは何ですか? –

+0

@ RoelVeldhuizenはforループを見ます.Jqueryオートコンプリートはキー、値を期待しています。しかし、あなたは値、結果を与えました。 – sathis

0

クリック時にテキストボックスの現在の値を削除する(テキストボックスがまだ編集されていない場合のみ)。

入力がフォーカスを失い、入力が編集されていない場合は、初期値を戻します。

+0

を含むように投稿を更新しました。それでも問題は解決しません。あなたはまだキーかユーザー名の値です。ユーザーは、表示したいが送信しないユーザーです。 –