Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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
获取数组textfield并计算javascript_Javascript_Jquery - Fatal编程技术网

获取数组textfield并计算javascript

获取数组textfield并计算javascript,javascript,jquery,Javascript,Jquery,例如,我有以下代码(来自php脚本循环的结果): 对于javascript,这是: function startCalc(){ interval = setInterval("calc()",500); } function calc(){ $('input[name="qtty[]"]').each(function(){ qtty = $(this).val(); }); $('input[name="price[]"]').each(function(){

例如,我有以下代码(来自php脚本循环的结果):

对于javascript,这是:

function startCalc(){
    interval = setInterval("calc()",500);
}

function calc(){
$('input[name="qtty[]"]').each(function(){
    qtty    = $(this).val();
});
$('input[name="price[]"]').each(function(){
    price   = $(this).val();
});
total   = (qtty * 1) * (price * 1);
$('input[name="totalprice[]"]').val(total);

}


function stopCalc(){
    clearInterval(interval);
}
当我输入数组的第一个输入时,程序不会显示任何内容。但在第二组数据输入时,TotalPrice将同时改变这两种情况

这里,示例pict:

  • 试试这个

    最初指定默认值

        var qtty=0;
        var price =0;
        var interval ;
            function startCalc(){
                interval = setInterval(calc,500);
            }
    
            function calc(){
            $('input[name="qtty[]"]').each(function(){
                qtty    = $(this).val();
            });
            $('input[name="price[]"]').each(function(){
                price   = $(this).val();
            });
            total   = (qtty * 1) * (price * 1);
            $('input[name="totalprice[]"]').val(total);
    
            }
    
    
            function stopCalc(){
                clearInterval(interval);
            }
    

    我认为你错了。这是更优选的变体:

    <input type="text" name="qtty">
    <input type="hidden" name="price" value="2">
    <input type="text" name="totalprice">
    <br>
    <input type="text" name="qtty">
    <input type="hidden" name="price" value="3">
    <input type="text" name="totalprice">
    

    id
    应该是唯一的。每个(在您的代码中)的需要是什么?您不再添加这些值了。那么什么id应该是唯一的?但为什么如果我使用表来放置该文本字段,它不起作用呢?这是因为以下表达式:
    $(this).nextAll().eq(1).val(总计);
    它的意思是:在这之后的第二个元素或者简单的totalprise输入,但是你把它放在其他
    中,所以它不起作用。例如,使用这个
    $(this.parent().next().children().val(total);
    但如果你改变了表的结构,你必须重写这个规则哇…它起作用了。谢谢你,你刚刚救了我的命:D
    $('input[name="qtty"]').keyup(function() {
      var qtty = $(this).val();
      var price = $(this).next().val(); 
      var total = (qtty * 1) * (price * 1);
      $(this).nextAll().eq(1).val(total); 
    });