我有这个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>
它的作用是从总和中减去一定数量。你可以看到它在这里工作
我刚在每一行添加了一个下拉选择,并在选中它旁边的复选框时启用。您可以看到在复选框和选择下拉列表之后是一个数字,表示将从总和中减去的金额。我想,当我从下拉列表中选择某个值x2
或x3
时,复选框的值将乘以2或3,具体取决于选择和要减去的总和。例如,如果我检查列NOV WED 28/row 06-07
并选择x2
,则输出应为“您有200 - (30x2)=140
”,如果我取消选中输入框以反转操作。
那你可以帮我解决这个问题吗?
答案 0 :(得分: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();
});