jQuery不适用于动态添加的表行

tyy007

因此,我有一个表,用户将在其中输入一些内容,在最后一列中,将根据其他列的输入自动填充该表。它工作得很好,但是一旦我在表中添加了另一行,它就不会像原始行那样填充最后一列。

所以我的问题是出什么问题了,我该如何解决?

谢谢!

用于添加行的脚本:

$('.add_row_count').on('click',function(){
event.preventDefault();
var newRow = $('<tr><td style = "text-align: center;"><input type="text" name="categ_name[]" id="categ_name" value="" placeholder="Item Category" required></td> ' +
'<td style = "text-align: center;"><input type="number" name="beg_count[]" id="beg_count" value="" placeholder="BEG Count" required></td>' +
'<td style = "text-align: center;"><input type="number" name="del_count[]" id="del_count" value="" placeholder="DEL Count" required></td>' +
'<td style = "text-align: center;"><input type="number" name="ret_count[]" id="ret_count" value="" placeholder="RET Count" required></td>' +
'<td style = "text-align: center;"><input type="number" name="exc_count[]" id="exc_count" value="" placeholder="EXC Count" required></td>' +
'<td style = "text-align: center;"><input type="number" name="pout_count[]" id="pout_count" value="" placeholder="P-Out Count" required></td>' +
'<td style = "text-align: center;"><input type="number" name="sales_count[]" id="sales_count" value="" placeholder="SALES Count" required></td>' +
'<td style = "text-align: center;"><input type="number" name="end_count[]" id="end_count" value="" placeholder="END Count" required></td>' + 
'<td style = "text-align: center;"><input type="number" name="actual_count[]" id="actual_count" value="" placeholder="Actual Count" required></td>' +
'<td style = "text-align: center;"><input type="number" name="variance[]" id="variance" value="" placeholder="Variance" readonly></td>' +
'<td style="border-top: 1px solid white; border-bottom: 1px solid white; border-right: 1px solid white"><button class="del" id="delete_row_count" type="button" onclick="deleterow_count();">Delete row</button></td></tr>');
 $('table.count').append(newRow);
});

用于填充最后一列的脚本:

      $('#categ_name,#beg_count, #del_count, #ret_count,#exc_count, #pout_count, #sales_count,#end_count, #actual_count, #variance').keyup(function (){

  var end = $('#end_count').val();
  var ac = $('#actual_count').val();

  var total_variance = end - ac;


   $('#variance').val(total_variance);     
  });

小提琴:https : //jsfiddle.net/qhk3ha75/3/

韦斯利·史密斯

您真正需要的是在classes整个代码中利用代码,并event delegation 用来监听上的事件dynamic elements

这是一个示例解决方案:

jsFiddle

var $tbody = $('#count tbody');
$('.add_row_count').on('click', function() {
  event.preventDefault();
  var $row = $tbody.find('tr').eq(0).clone();
  $row.find('input').val('');
  var $newRow = $($row[0].outerHTML);
  $tbody.append($newRow);
});
$tbody.on('keyup', '.calculate', function() {
  var $tr = $(this).closest('tr');
  var end = $tr.find('.end_count').val();
  var ac = $tr.find('.actual_count').val();
  var total_variance = end - ac;
  $tr.find('.variance').val(total_variance);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="" value="" class="add_row_count" id="hide">Add another row</a>
<table id='count' class="table table-bordered count" cellspacing="0" width="100%">
  <thead>
    <tr>
      <th style="text-align: center; width:180px"></th>
      <th style="text-align: center;">BEG</th>
      <th style="text-align: center;"> DEL</th>
      <th style="text-align: center;"> RET</th>
      <th style="text-align: center;"> EXC</th>
      <th style="text-align: center;"> P-OUT</th>
      <th style="text-align: center;"> SALES</th>
      <th style="text-align: center;"> END</th>
      <th style="text-align: center;"> ACTUAL COUNT</th>
      <th style="text-align: center;"> VARIANCE</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center;">
        <input type="text" name="categ_name[]" class="calculate categ_name" value="" placeholder="Item Category" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="beg_count[]" class="calculate beg_count" value="" placeholder="BEG Count" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="del_count[]" class="calculate del_count" value="" placeholder="DEL Count" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="ret_count[]" class="calculate ret_count" value="" placeholder="RET Count" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="exc_count[]" class="calculate exc_count" value="" placeholder="EXC Count" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="pout_count[]" class="calculate pout_count" value="" placeholder="P-Out Count" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="sales_count[]" class="calculate sales_count" value="" placeholder="SALES Count" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="end_count[]" class="calculate end_count" value="" placeholder="END Count" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="actual_count[]" class="calculate actual_count" value="" placeholder="Actual Count" required>
      </td>
      <td style="text-align: center;">
        <input type="number" name="variance[]" class="variance" value="" placeholder="Variance" readonly>
      </td>
    </tr>
  </tbody>
</table>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

响应式数据表不适用于动态添加的行

来自分类Dev

jQuery Droppable不适用于动态添加的DIVS

来自分类Dev

jQuery事件不适用于动态添加的Div

来自分类Dev

jQuery on()不适用于动态添加事件

来自分类Dev

jQuery onclick不适用于动态添加的div ID

来自分类Dev

jQuery click事件不适用于动态添加的元素

来自分类Dev

jQuery事件不适用于动态添加的Div

来自分类Dev

Jquery 单击不适用于动态添加的链接

来自分类Dev

验证不适用于动态添加的行

来自分类Dev

CSS不适用于使用jQuery在表上新添加的行

来自分类Dev

jQuery 函数不适用于新添加的行

来自分类Dev

jQuery双击不适用于表行

来自分类Dev

jQuery双击不适用于表行

来自分类Dev

jQuery last()方法不适用于附加表行

来自分类Dev

jQuery .on不适用于动态内容

来自分类Dev

滚动不适用于动态添加到jQuery移动列表的项目

来自分类Dev

jQuery-动态添加的元素不适用于mouseleave,click事件

来自分类Dev

更改侦听器不适用于JQuery Mobile中动态添加的内容

来自分类Dev

选择的插件不适用于表中动态创建的行

来自分类Dev

Click事件不适用于动态添加的按钮

来自分类Dev

FXML样式不适用于动态添加的TreeView TreeItem的

来自分类Dev

.on(click,function)不适用于动态添加的内容

来自分类Dev

代码不适用于倒带动态添加的视频

来自分类Dev

单击事件不适用于动态添加的按钮或面板

来自分类Dev

Click事件不适用于动态添加的子元素

来自分类Dev

onclick 不适用于动态添加的按钮

来自分类Dev

表格行突出显示不适用于动态行

来自分类Dev

jQuery事件不适用于动态提取的HTML

来自分类Dev

jQuery事件不适用于动态附加的元素

Related 相关文章

热门标签

归档