请查看我的内容
$("#checkbox").change(function() {
if ($('input#checkbox').is(':checked')) {
var checkvalue = +$(this).val(),
$boxInput = $('input[name="box"]');
$boxInput.val(+$boxInput.val() + checkvalue);
} else {
var checkvalue = +$(this).val(),
$boxInput = $('input[name="box"]');
$boxInput.val(+$boxInput.val() - checkvalue);
}
});
$("#numbers").change(function() {
var firstdropvalue = +$(this).val(),
$boxInput = $('input[name="box"]');
$boxInput.val(+$boxInput.val() + firstdropvalue);
});
$("#morenumbers").change(function() {
var seconddropvalue = +$(this).val(),
$boxInput = $('input[name="box"]');
$boxInput.val(+$boxInput.val() + seconddropvalue);
});
演示: http://jsfiddle.net/nZ9J8/1/
我想从多个下拉菜单和一个复选框更新输入文本框值。
首先,我不希望每次进行不同的下拉选择时都不断添加和添加。
这是故障......
未选中时复选框= 0,选中时为2
下拉列表有0,1,2,3和4
下拉列表有0,1,2,3和4
输入文本框应该是复选框+下拉列表+下拉列表两个
如果选中复选框,并且在两个下拉列表中都选择了2,那么它应为2 + 2 + 2,这将使文本字段为6。
如果未选中复选框,并且在下拉列表中选择1,则在下拉列表中选择3,然后选择3为0 + 1 + 3,这将使文本字段为4。
诀窍是,如果一个人改变主意并更改复选框或下拉菜单,则文本字段应根据需要相应地更新或更新。
答案 0 :(得分:1)
试试这个。 http://jsfiddle.net/BxSU6/19/
function calculate(){
var checkVal = ($('input#checkbox').is(':checked')) ? $('input#checkbox').val() : 0;
var sum = parseIntX($("#numbers").val()) + parseIntX($("#morenumbers").val()) + parseIntX(checkVal);
$('#box').val(sum);
}
function parseIntX(num){
return (isNaN(parseInt(num))) ? 0 : parseInt(num);
}
$("#numbers, #morenumbers, #checkbox").change(function() {
calculate();
});`