可能重复:
How to check if check box is checked in this example (javascript/jQuery.)
我的复选框遇到了问题。我试图在点击按钮时设置一个事件,不同的是操作是否被选中。
这是我的代码
$(document).ready(function(){
$('.pointBox').click(function(event){
var operator = $(this).find('input').attr('operator');
var pointNum = parseInt($(this).find('input').val());
var pointsFromHtml = $('#newPoints').val();
var currentPoints;
var newPoints;
if(pointsFromHtml.charAt(0) == '+'){
currentPoints = parseInt(pointsFromHtml.substring(1));
} else {
return;
}
switch(operator){
case 'addition':
if(!$(this).attr('checked')){
newPoints = currentPoints + pointNum;
}
if($(this).attr('checked')){
alert();
newPoints = currentPoints - pointNum;
}
break;
case 'subtraction':
newPoints = currentPoints - pointNum;
break;
}
$('#futurePoints').text('+' + newPoints);
$('#newPoints').attr('value', newPoints);
});
});
答案 0 :(得分:2)
假设问题是if语句不起作用,我已经成功了
if($("#something").is(":checked")){
//do something
}
为了以防万一,为了取消选中,请使用
is(":not(:checked)")
答案 1 :(得分:0)
改为使用this.checked
。
newPoints = this.checked ? currentPoints - pointNum
: currentPoints + pointNum;
答案 2 :(得分:0)
我为不清楚而道歉..我想出了如何解决问题。
通过在单击按钮时更改操作符值,减去它可以修复问题,以便下次单击将减少点数。这很可能不会帮助其他任何人......但它确实解决了这个问题。