添加新字段时生成动态值


Generate dynamic value when added new field

我正在使用jQuery动态添加新的表行。它添加成功,现在我想根据下拉值动态地提取每个记录,并显示在多个div中。如果表中只有一行,那么一切都可以正常工作,但当我使用jQuery添加新行时,它不会因此而增加计数器值。当我从第二行选择下拉值时,它不会拉取记录。

    function add_allowance() {
    
    var click = 2;
    jQuery("#addrows").click(function(){
        jQuery('#maintable tr:last').after('<tr class="tablechild"><td><select name="empallownacename" id="allowancename" class="select2_category form-control"><option value="none" selected="selected">-Select-</option></select></td><td><input type="text" name="empmount" value="" class="form-control"  /></td><td><input type="text" name="empdescription" value="" class="form-control"  /></td><td><a style="cursor: pointer;" value="Remove" class="minusbtn" id="remove"><i class="fa fa-trash-o"></i></a></td></tr>');
    });
    click++;
}
   
    <tr class="tablechild">
    <td>
        <select name="allowancename<?php echo $counter; ?>" id="allowancename" class="select2_category form-control">
            <option>-Select-</option>
            <?php foreach($allowances as $allowance):?>
            <option value="<?php echo $allowance['id']; ?>"><?php echo $allowance['name'];?></option>
               <?php $counter; ?>
             <?php endforeach; ?>
        </select>
    </td>
    <td><input type="text" id="allowanceamount" name="allowanceamount" value="" class="form-control"  /></td>
    <td><input type="text" id="allowancedesc" name="allowancedesc" value="" class="form-control"  /></td>
    <td>
        <a style="cursor: pointer;" value="Remove" class="minusbtn" id="remove"><i class="fa fa-trash-o"></i></a>
    </td>
</tr>

单击时,将调用该方法,并始终以2初始化变量。这不是一个好的做法。您可以执行以下操作:函数add_allowance(){

    var click;
    jQuery("#addrows").click(function(){
        jQuery('#maintable tr:last').after('<tr class="tablechild"><td><select name="empallownacename" id="allowancename" class="select2_category form-control"><option value="none" selected="selected">-Select-</option></select></td><td><input type="text" name="empmount" value="" class="form-control"  /></td><td><input type="text" name="empdescription" value="" class="form-control"  /></td><td><a style="cursor: pointer;" value="Remove" class="minusbtn" id="remove"><i class="fa fa-trash-o"></i></a></td></tr>');
    });
    click=$('table tr).length; // It will count number of rows in the table and return integer value no of rows
}