2014-02-13 54 views
0

您可以通過動態地在#newchosen DIV的jQuery選擇了與動態添加selectboxes

<script type="text/javascript"> 
$("#content").on("click", "#newchosen", function() { 
    $("#clone_hidden").clone().appendTo($("#cloneoutput")); 
}); 
</script> 

此點擊 '+' 添加selectboxes是被克隆,並添加div來#cloneoutput

<div style="display: none;"> 
    <div id="clone_hidden"> 
     <table> 
     <tr> 
     <td> 
      <select name="color" id="color" class="chosen-color" data-placeholder="{$choose_color}"> 
      <option value=""></option> 
      {loop="arr_colors"} 
       <option value="{$key}">{$value}</option> 
      {/loop} 
      </select> 
     </td> 
     <td> 
      <select name="grape" id="grape" class="chosen-grape" data-placeholder="{$choose_grape}"> 
      <option value=""></option> 
      {loop="arr_grapes"} 
       <option value="{$key}">{$value}</option> 
      {/loop} 
      </select> 
     </td> 
     <td> 
      <select name="quality" id="quality" class="chosen-quality" data-placeholder="{$choose_quality}"> 
      <option value=""></option> 
      {loop="arr_quality"} 
       <option value="{$key}">{$value}</option> 
      {/loop} 
      </select> 
     </td> 
     <td> 
      <input type="text" name="quantity" id="quantity" value="" maxlength="10" class="smalltextinput" /> 
     </td> 
     </tr> 
     </table> 
    </div> 
</div> 

所以問題是,只有第一個顏色,葡萄和質量的選擇框才起作用,因爲它只是與重複項名稱相同。但是,如果我將[]添加到選擇框的ID和名稱選擇獲取錯誤,並不再工作。

所以我的問題是,我如何使用數組字段選擇工作?像

select name = color [] id = color []

感謝您的關注!祝你有美好的一天。

+0

ID必須是唯一的,所以你應該有ID爲被克隆的元素,或者你應該更新ID爲唯一值,一旦解決了這個問題它被克隆 –

+0

感謝您的回覆。我如何爲元素分配唯一的ID?它的div內的「html內容」被克隆到另一個div中。 – Dylan

回答

0

我通過改變DIV clone_hidden ID爲唯一

元素的
<script type="text/javascript"> 
var count = 0; 
$("#content").on("click", "#newchosen", function() { 
    count++; 
    $("#clone_hidden").clone().attr('id','clone'+ count +'').appendTo($("#cloneoutput")); 
    $("#clone" + count +" select").chosen({disable_search: true, width: "150px"}); 
}); 

</script>