所以我的问题是我试图从不同的盒子中添加一堆数字,根据他们的下拉列表进行更改,下拉位是好的,现在我无法添加结果:(!
到目前为止,这是我的尝试:
<select id=discount[0] name=discount[0]>
<option value=1>option 1</option>
<option value=2>option 2</option>
</select>
<input class=prices type=text id=postdiscount[0] value=1>
<select id=discount[1] name=discount[1]>
<option value=1>option 1</option>
<option value=2>option 2</option>
</select>
<input class=prices type=text id=postdiscount[1] value=2>
<br>
total: <div id=netpricestotal></div>
和JS:
var netprice = 0;
$("#discount\\[0\\]").change(function () {
$("#postdiscount\\[0\\]").val(this.value);
$(".prices").each(function(index, obj){
netprice += index.value;
});
$("#netpricestotal").text(netprice);
});
$("#discount\\[1\\]").change(function () {
$("#postdiscount\\[1\\]").val(this.value);
$(".prices").each(function(index, obj){
netprice += index.value;
});
$("#netpricestotal").text(netprice);
});
的jsfiddle:
http://jsfiddle.net/t75ut97f/12/
谢谢!
编辑:
谢谢大家,设法用Number()(http://jsfiddle.net/t75ut97f/16/)自己修复它也看到了使用parseint替代方法的接受答案。
答案 0 :(得分:1)
你没有任何关于班级netprices
的元素,你的意思是prices
(输入)。此外,您需要parseInt()
值才能将其转换为数字。
在netprice
事件中移动change
var以重置它。
看到它正常工作here。
$("#discount\\[0\\]").change(function () {
var netprice = 0;
$("#postdiscount\\[0\\]").val(this.value);
$(".prices").each(function (index, obj) {
netprice += parseInt($(this).val());
});
$("#netpricestotal").text(netprice);
});
$("#discount\\[1\\]").change(function () {
var netprice = 0;
$("#postdiscount\\[1\\]").val(this.value);
$(".prices").each(function (index, obj) {
netprice += parseInt($(this).val());
});
$("#netpricestotal").text(netprice);
});
答案 1 :(得分:-2)
我希望chained jQuery plugin能满足您的需求