2013-03-05 52 views
0

我有一个允许用户动态添加rows的表单。我需要知道表单在发布之前有多少行.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 2013-03-05 19:00:26

+0

是去那条路线,但只是counldnt得到它done.found在线使用隐藏字段计数,这也使得传递到服务器更容易一些类似的例子。 – Zion 2013-03-05 19:09:02

+0

你看着我贴的小提琴吗?它非常容易,我认为在一个隐藏的输入中存储工作变量可能不是最好的方式去 – Imperative 2013-03-06 07:48:28

回答

0

给该领域的类名之一。那么:

$('.myClass').length将是行数。

+0

var con = $('。count')。length可以工作,但不会从1开始移动。在添加多行之后,也会将返回值添加到字段var hid =($(“input#hidden1”)) .VAL( “CON”)); $(“#inputfield1”)。append(hid); – Zion 2013-03-05 19:29:52

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

这是不正确,将其更改为:

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

这也返回1.当添加多于1行时。 – Zion 2013-03-05 19:53:34