如何在复选框中添加和减去值并在输入文本字段中选择选项下拉菜单?

时间:2013-10-25 02:07:41

标签: javascript jquery html drop-down-menu

请查看我的内容

$("#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。

诀窍是,如果一个人改变主意并更改复选框或下拉菜单,则文本字段应根据需要相应地更新或更新。

1 个答案:

答案 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();
});`