【问题标题】:Onchange event in dynamic table html动态表 html 中的 Onchange 事件
【发布时间】:2018-08-30 13:50:05
【问题描述】:

我的要求是我有一个有 4 列的表 在第一列可以选择项目名称,第二是项目费率,第三是项目数量最后一个是总金额 我想在第一列更改项目时自动在第二列中获取项目费率,并希望汤姆从 qty 字段中获取焦点后的总数作为多个 opf 数量和费率, 我想要一行添加按钮来添加行,并且 onchange 和 onblur 事件应该适用于所有行, 我怎样才能做到这一点 ? 我的代码是

    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
  <script src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
  <script src="https://cdn.datatables.net/1.10.15/js/dataTables.bootstrap.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.css" />
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"/>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>



<table id="item_table">
<tr><th>SL No</th><th>Item Name</th><th>Rate</th><th>Qty</th><th>Total</th><th><button type="button" name="add" class="btn btn-success btn-sm add" >add</button></tr>
</table>




 <script>
$(document).ready(function(){
    $(document).on('click', '.add', function(){
      var html = '';
      html += '<tr>';
       html += '<td><input type="text" name="slno[]" /></td>';
       html += '<td><select name="item[]" id=item[] onchange="show_rate()"><option value="10">Item 1</option><option value="20">Item 2</option><option value="30">Item 3</option><option value="35">Item 4</option></td>';
      html += '<td><input type="text" name="rate[]" id="rate[]" /></td>';
      html += '<td><input type="text" name="qty[]" id="qty[]" onblur="sum_total()"/></td>';
      html += '<td><input type="text" name="total[]" id="total[]" /></td>';
     html += '<td><button type="button" name="remove" class="btn btn-danger btn-sm remove" >Remove</button></td></tr>';
      $('#item_table').append(html);
     });

     $(document).on('click', '.remove', function(){
      $(this).closest('tr').remove();
     });
});
function show_rate(){
    var a=document.getElementsByName("item[]")[0].value;
    var b=document.getElementById("rate[]");
    b.value=a;
}
function capitalise(){
    var c=document.getElementsByName("rate[]")[0].value;
    var d=document.getElementsByName("qty[]")[0].value;
    var e=document.getElementById("total[]");
    e.value=+c * +d;
}
</script>

【问题讨论】:

  • 代码更新请检查

标签: javascript dynamic datatable onchange onblur


【解决方案1】:

您必须使用选项标签中的值进行选择。每个选项都必须有一个唯一的 ID 或名称。然后,您可以调用选项的 value 属性并将其显示在第 2 列中。然后使用简单的数学运算符获取该值并将其乘以一个集合变量,您也可以使用上述方法从 select 中获取该变量。例 12

查看其他帖子以了解有关添加行的问题,那里有大量关于该主题的帖子,其中包含您需要的代码。

【讨论】:

  • 此外,如果您使用 Jquery,它可以使属性的选择变得更加容易。看api.jquery.com/attr
  • 我为单行做了它,但通过动态添加行,事件不起作用
猜你喜欢
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-23
  • 2017-11-21
  • 1970-01-01
相关资源
最近更新 更多