2014-12-19 3 views
0

Я добавляю строку при нажатии кнопки в форме/таблице.Как изменить имя типов ввода динамически

SO Я просто копирую содержимое последней строки и добавляю ее в новую строку. Поскольку это форма, мне придется изменить имя типов ввода, чтобы я мог использовать его для сохранения в базе данных.

Мой код выглядит примерно так

<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> 

Script

$(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

Kool! bro yeah Как я могу не думать об этом: D. Можете ли вы просто дать мне какую-то идею, что я должен делать в контроллере. Например, я использую PHP, поэтому, что бы это получилось, в любом случае спасибо за это – Vikram

+0

. Мне это не нужно писать. Я отвечу на ваш ответ за две минуты: D – Vikram

+0

:) рад помочь –

Смежные вопросы