我已经计算了两个日期字段,因为我需要时间。除了这些,我有6个下拉列表,其中包含数值。
当用户选择这些字段中的任何一个时,我希望在屏幕上计算/更新总数,类似于购物车。 我从这样的事情开始,但我不能让血腥的东西工作,显然我的逻辑是错的。我意识到这是错的,但我不知道如何解决它。
$(function(){
$('a#calc').click(function(){
var p = $('select#TRDO').val();
var q = $('select#AnnualLeave').val();
var r = $('select#PersonalLeave').val();
var s = $('select#WorkFromHome').val();
var t = $('select#TOIL').val();
var tot = (q+p+r+s+t);
$('input#total').val(tot);
});
});
我只需要帮助做第一个,然后我会自己去做它。
谢谢,这是一个非常令人沮丧的一天......
答案 0 :(得分:2)
您可以尝试使用parseInt
进行数字添加:
$(function(){
$('a#calc').click(function(){
var p = parseInt($('select#TRDO').val(), 10);
var q = parseInt($('select#AnnualLeave').val(), 10);
var r = parseInt($('select#PersonalLeave').val(), 10);
var s = parseInt($('select#WorkFromHome').val(), 10);
var t = parseInt($('select#TOIL').val(), 10);
var tot = (q+p+r+s+t);
$('input#total').val(tot);
});
});
如果没有parseInt()
,则加号运算符(+
)将连接字符串而不是添加其数值。
希望这会有所帮助。干杯
答案 1 :(得分:1)
为你想要总计的所有输入添加一个类并使用parseInt ...哦,你很可能不想使用.click你可能想要.change
<input class="inputsToSum" value="4"/>
var runningTotal = 0;
$(".inputsToSum").change(function() {
runningTotal += parseInt($(this).val(), 10);
});
$('input#total').val(runningTotal);
答案 2 :(得分:0)
$(function(){
$('a #calc').click(function(){
var p = $('#TRDO option:selected').val();
var q = $('#AnnualLeave option:selected').val();
var r = $('#PersonalLeave option:selected').val();
var s = $('#WorkFromHome option:selected').val();
var t = $('#TOIL option:selected').val();
var tot = (parseInt(q)+parseInt(p)+parseInt(r)+parseInt(s)+parseInt(t));
$('input #total').val(tot);
});
更新
此代码在点击计算
时有效$(function() {
$('a #calc').click(function(){
var p = parseFloat($('select[name=TRDO] option:selected').val());
var q = parseFloat($('select[name=AnnualLeave] option:selected').val());
var r = parseFloat($('select[name=PersonalLeave] option:selected').val());
var s = parseFloat($('select[name=WorkFromHome] option:selected').val());
var t = parseFloat($('select[name=TOIL] option:selected').val());
var tot = (q + p + r + s + t);
$('input#total').val(tot);
});
});
答案 3 :(得分:0)
你只需将其解析为整数或浮点数......
$(function(){
$('a#calc').click(function(){
var p = $('select#TRDO').val();
var q = $('select#AnnualLeave').val();
var r = $('select#PersonalLeave').val();
var s = $('select#WorkFromHome').val();
var t = $('select#TOIL').val();
var tot = (parseInt(q)+parseInt(p)+parseInt(r)+parseInt(s)+parseInt(t));
$('input#total').val(tot);
});
});