2013-03-05 4 views
0

У меня есть форма, которая позволяет пользователям динамически добавлять rows.i, чтобы знать, сколько строк имеет форма до ее опубликования. I создали скрытое поле, которое я намерен затем добавьте количество скрытых полей (строк) в значение скрытого поля. Кто-нибудь может помочь, я не получу эту часть правильно. формаПодсчет строк данных по форме путем подсчета скрытых полей jquery

<tbody> 
    <tr> 
<td><input type="text" name="Item_No1" id="Item_No1"></td> 
<td><input type="text" name="Item_Desc1" id="Item_Desc1"></td> 
<td><input type="text" name="Qty1" id="Qty1"></td> 
    <td><input type="hidden" name ="hidden1"id="inputfield1"></td> 
    </tr> 
    </tbody> 

JQuery, который создает новые строки, но не считая строк и добавить его в скрытом поле

<script> 
     $(document).ready(function ($) {   
      $("button").on("click", function() {    
       addTableRow($("table"));   
       return false; 
      }); 
      function addTableRow(table) { 
       var $tr = $(table).find("tbody tr:last").clone();  
       $tr.find("input,select").val('').attr("name", function() {     
        var parts = this.id.match(/(\D+)(\d+)$/);     
        return parts[1] + ++parts[2];    
       }).attr("id", function() { 
        var parts = this.id.match(/(\D+)(\d+)$/); 
        return parts[1] + ++parts[2]; 
       });   
       $(table).find("tbody tr:last").after($tr); 
      }; 
      //counts hidden field 
      var con = $("hidden1").length; 
      //passes amount of hidden fields as value to hidden field   
      var hid = ($("input#hidden1").val("con")); 
      $("#inputfield1").append(hid); 
     }); 
     </script> 
+0

почему бы не иметь переменную, которая увеличивается на единицу каждый раз, когда функция addrow называется? [jsfiddle] (http://jsfiddle.net/LZXDt/) – Imperative

+0

шел по этому маршруту, но просто советовал получить его. Похоже, что некоторые похожие примеры в Интернете используют скрытый подсчет полей, что также упрощает передачу его на сервер. – Zion

+0

Вы посмотрели на скрипку, которую я разместил? его довольно легко, и я думаю, что хранение рабочего var в скрытом входе может быть не лучшим способом. – Imperative

ответ

0

Дайте одну из поля имени класса. Затем:

$('.myClass').length будет количество строк.

+0

var con = $ ('. Count'). Length работает, но не движется от 1.after я добавляю несколько строк, также это добавит возвращаемое значение в поле var hid = ($ ("input # hidden1") .val ("против")); $ ("# inputfield1"). Append (hid); – Zion

0
 var con = $("hidden1").length; 

Это не правильно, изменить его на:

 var con = $("input[type=hidden]").length; 
+0

это также возвращает 1. когда добавлено более 1 строки. – Zion

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