Javascript使用了错误的文本框
我正在尝试用Javascript进行计算。当我执行计算时,我可以看到脚本多次使用文本框 例如: 第一行的计算为:Javascript使用了错误的文本框,javascript,jquery,Javascript,Jquery,我正在尝试用Javascript进行计算。当我执行计算时,我可以看到脚本多次使用文本框 例如: 第一行的计算为: 100 + 20 = 120 第二行的计算为: 100 + 0 = 100 总数应为220 当我执行代码时,我总共得到了240 有人知道为什么我的脚本计算不正确吗 JSFiddle: 这是我的密码: $(文档)。在('change','id^=neg_pos')上,函数选择数量(selectedValue){ 设neg=0 设pos=0 $('[id^=neg_pos]')。每
100 + 20 = 120
第二行的计算为:
100 + 0 = 100
总数应为220
当我执行代码时,我总共得到了240
有人知道为什么我的脚本计算不正确吗
JSFiddle:
这是我的密码:
$(文档)。在('change','id^=neg_pos')上,函数选择数量(selectedValue){
设neg=0
设pos=0
$('[id^=neg_pos]')。每个(函数(即,e){
变量数量=e.options[e.selectedIndex]。值;
如果(数量='0'){
}否则如果(数量=='1'){
var num1=Number(document.getElementsByName('price[])[0].value);
var num2=Number(document.getElementsByName('tax[])[0]。value);
var tv1=num1+num2;
pos+=tv1;
}否则{
var num3=Number(document.getElementsByName('price[])[0].value);
var num4=Number(document.getElementsByName('tax[])[0].value);
变量tv5=num3+num4;
neg+=tv5;
}
document.getElementById('positive')。value=pos.toFixed(2);
document.getElementById('negative')。value=neg.toFixed(2);
});
});代码>
+
-
+
-
+
-
问题在于您正在使用document.getElementsByName('price[])[0].value
获取输入值。但是该代码专门选择了第一个price[]
元素,因此您总是使用相同的值
您需要将[0]
替换为[i]
,因为i
对应于相关的[id^=neg_pos]
项(from$('[id^=neg_pos]')。每个(函数(i,e){
)
更新了位于的演示。问题是您正在使用document.getElementsByName('price[])[0]。value
获取输入值。但是该代码专门选择了第一个price[]
元素,因此您始终使用相同的值
您需要将[0]
替换为[i]
,因为i
对应于相关的[id^=neg_pos]
项(from$('[id^=neg_pos]')。每个(函数(i,e){
)
更新的演示