Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为codeigniter中动态创建的输入字段计算发票金额_Javascript_Codeigniter - Fatal编程技术网

Javascript 如何为codeigniter中动态创建的输入字段计算发票金额

Javascript 如何为codeigniter中动态创建的输入字段计算发票金额,javascript,codeigniter,Javascript,Codeigniter,我在做CI的发票。我想计算金额,我可以做第一行(动态创建)。但对于第二排,它不起作用。有人能帮我吗?我希望我的问题很清楚 动态插入行的代码 function addRow(tableID) { var table = document.getElementById(tableID); var rowCount = table.rows.length-1; var row = table.insertRow(rowCount); //Column 1

我在做CI的发票。我想计算金额,我可以做第一行(动态创建)。但对于第二排,它不起作用。有人能帮我吗?我希望我的问题很清楚

动态插入行的代码

 function addRow(tableID) { 
  var table = document.getElementById(tableID);
  var rowCount = table.rows.length-1;
  var row = table.insertRow(rowCount); 
        //Column 1  
        var cell1 = row.insertCell(0);
        cell1.innerHTML = '<input type="text" name="item[]" id="item">'
        //Column 2  
        var cell2 = row.insertCell(1);
        cell2.innerHTML = '<input type="number" name="qty[]" id="qty" onkeyup="calc()">'; 
        //Column 3  
        var cell3 = row.insertCell(2);
        cell3.innerHTML = '<input type="number" name="rate[]" id="rate">'; 
        //Column 4  
        var cell4 = row.insertCell(3);
        cell4.innerHTML = '<input type="number" name="tax[]" id="tax">'; 
        //Column 5  
        var cell5 = row.insertCell(4);
        cell5.innerHTML = '<input type="number" name="amound[]" id="amound" readonly>'; 
        //Column 6 
        var cell6 = row.insertCell(5);  
        cell6.innerHTML = '<input id="Button" type="button" value="Delete" class="delete-row btn btn-danger"/>';
      } 

      $(document).on('click', '.delete-row', function() {
        $(this).parents('tr').remove();
      });

脚本的主要问题是在输入元素上使用ID而不是类。ID应该是唯一的,类可以重复x次。您正在将普通javascript与jQuery javascript相结合

尝试将您自己的代码与我创建的示例脚本进行比较。希望您能看到差异并将其添加到自己的脚本中

我的例子是:

function calc(){
   var textValue1 = document.getElementById('qty').value; 
   var textValue2 = document.getElementById('rate').value;
   var textValue3 = document.getElementById('tax').value;
   var mul = textValue1 * textValue2;
   var tax = mul*(textValue3/100);
   var result = +textValue2 + +tax;

   document.getElementById('amound').value = result; 
 
 }
var myTable = $("#myTable");

$(document).on('click', '.delete-row', function() {
  $(this).parents('tr').remove();
});

$(document).on('keyup', 'input', function() {
  inputs = $(this).parents('tr');
  calc(inputs);
});

function calc(inputs){
   var qty = inputs.find('.qty').val();
   var rate = inputs.find('.rate').val();
   var tax = inputs.find('.tax').val();
   var mul = qty * rate;
   var tax = mul*(tax/100);
   var result = +rate + +tax;

   inputs.find('.amount').val(result);
}