2012-04-27 91 views
1

我正在使用jQuery中的自動完成插件,我想將選擇的結果附加到帶有其他元素的div元素:隱藏輸入和文本輸入。jQuery自動完成將選擇添加到div

這是我的html代碼:

這是我在jQuery函數:

$("#buscar").autocomplete({ 
    source: "procesos/buscarPersona.php", 
    minLength: 2, 
    select: function(event, ui) { 
     $("#acreditados") 
      .append('<div class="col50"><p>' 
      + '<input type="hidden" name="id" value="' + ui.item.id_persona + '"/>' 
      + ui.item.value 
      + '</p></div>' 
      + '<div class="col50 f-right"><p>Monto:' 
      + '<input type="text" /></p></div>'); 
     } 
}); 

現在我的代碼工作正常,但我發現很難維持追加功能,顯示選擇結果和附加輸入。有沒有一種方法可以使用load()函數使這更簡單?最終輸出必須附加多重選擇,而不僅僅是最後選擇

回答

1

不要使用負載,負載是阿賈克斯,與服務器通信的意思,對於每一個選擇,除非你需要一些驗證或更復雜的邏輯,我們應該避免網絡訪問。

如果你使用加載,那麼對於每一個選擇你將與你的服務器通信,然後它會通過你的HTML。

恕我直言,這個解決方案看起來很醜,但效率更高。

編輯:

保持這個單獨的div:通過調用jQuery('.dynamiccontentcont').clone()

  • 將選定的值(當你正在做的

    <div class="dynamiccontentcont"> 
         <div class="col50"> 
          <p><input type="hidden" name="id" value=""/></p> 
         </div> 
         <div class="col50 f-right"> 
         <p>Monto:<input type="text" /></p> 
        </div> 
        </div> 
    

    在選擇

    1. 克隆這個div你的代碼)
    2. 追加div在喲我們的代碼
  • +0

    您是否以另一種方式使這更優雅?我只是意識到我需要爲每個選擇添加一個刪除按鈕,它會使我的代碼更難看。 – 2012-04-27 16:43:53

    +0

    第二個div有一個「f-right」的獨立類,所以克隆將無法按預期工作。 – 2012-04-27 17:47:44

    +0

    編輯我的答案,包裝父母的所有內容和克隆父母 – mprabhat 2012-04-27 18:08:06