0

我有这个 jquery 代码:

<script type='text/javascript'>
$(window).load(function(){
 $('input:checkbox').change(function(){
    var tot=200;
    $('input:checkbox:checked').each(function(){
        dat=$(this).val();
        tot-=parseInt(dat);
    });
    if (tot < "20") {
        alert("You dont have any money!");
        for(i = 1; document.getElementById("bifa" + i) !== null; i++) {
            if (document.getElementById("bifa" + i).checked)
            {
            } else {
                document.getElementById("bifa" + i).disabled = true;
            }
        }
    }
    $('#outputDiv').html("You have: " + tot + " RON")
  });
});
</script>

它的作用是从总和中减去一定数量。你可以看到它在这里工作

http://jsfiddle.net/a2mue/1/

我只是在每一行上添加了一个下拉选择,并在选中它旁边的复选框时启用。您可以看到复选框和选择下拉列表后面是一个数字,表示将从总和中减去的金额。我想要,当我从下拉列表中选择某个值x2x3复选框的值将乘以 2 或 3,具体取决于选择和要减去的总和。例如,如果我选中 NOV WED 列28/row 06-07并选择x2,则输出应为“You have 200 - (30x2)=140”,如果我取消选中输入框以反转操作。

那你能帮我解决这个问题吗?

4

1 回答 1

1

我改变了你的样本,这里是修改:http: //jsfiddle.net/abaLA/

total = 200;
function calcSum(){
    var sum = 0;
    $('input[type="checkbox"]').each(function(){
        var td = $(this).parent('td');
        if($(this).attr('checked')){           
            sum += td.find('select').val() * 1 * (td.html().split('</select>')[1] * 1);
            td.find('select').attr('disabled',false);
        } else {
            td.find('select').attr('disabled',true);
        }
    });
    return sum;
}

function getTotal(){
    alert(total - calcSum());
}

$('input[type="checkbox"]').click(function(){
    getTotal();
});

$('.florin select').change(function(){
    getTotal();
});
于 2012-11-27T19:55:10.060 回答