2013-03-05 74 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