获取数组textfield并计算javascript
例如,我有以下代码(来自php脚本循环的结果):获取数组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(){
对于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);
});