2011-11-11 59 views
0

我有一個使用鍵和值的JQuery提示框。關鍵是保存的值,例如userId,值是顯示的值,例如用戶名。設置初始JQuery建議值

當有一個空白字段時,它的效果很好。我輸入幾個字符,選擇一個名稱,並將該值添加爲通過HTTP請求發佈的值。現在,我應該如何預先填寫表單的建議與已有價值的時間。當把保存的userId作爲值時,建議顯示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

這不會解決我的問題。您的價值仍然是關鍵或用戶名。用戶是您想要顯示但不會發送的用戶。 –