2014-12-19 96 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