2014-12-19 94 views
0

我正在按鈕單擊窗體/表中添加一行。如何動態更改輸入類型的名稱

所以我只是複製最後一行的內容並將其添加到新行。由於它是一種形式,我將不得不更改輸入類型的名稱,以便我可以使用它來保存在數據庫中。

我的代碼看起來是這樣的

<table> 
    <tr> 
     <td></td> 
     <td> 
      <select> 
       <option>One</option> 
       <option>Two</option> 
      </select> 
      <button class="makeStrng">+</button> 
     </td> 
     <td> 
      <input type="text" /> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <button class="addRow">Add ME</button> 
     </td> 
    </tr> 
</table> 

腳本

$(document).ready(function() { 
    $(document).on("click", ".addRow,.makeStrng", function() { 
     var $class = $(this).attr("class"); 
     if ($class == "addRow") { 
      var $row = $(this).closest("tr"); // Finds the closest row <tr> 
      var prev = $row.prev(); 
      $(prev).after("<tr>" + prev.html() + "</tr>"); 
     } 

}); 

JS的搗鼓這是提前

JSFIDDLE

感謝

回答

0

您應該將它們作爲數組的輸入類型。它應該是

<select name="opt[]"> 
<input type="text" name="inp[]" /> 

以這種方式當你複製行時,你不必做任何事情。在控制器中,您可以在每個陣列中執行一次並獲取數據。

+0

庫爾!兄弟我怎麼能不考慮這個:D。你可以給我一些想法,我應該怎麼做在控制器。就像我使用PHP所以這將是片段謝謝 – Vikram 2014-12-19 05:41:39

+0

我得到它不需要寫。我會在兩分鐘內接受你的回答:D – Vikram 2014-12-19 05:44:06

+0

:)很高興能有所幫助 – 2014-12-19 06:34:49