Javascript jQuery-检查值还是未检查值?过滤
可能重复:Javascript jQuery-检查值还是未检查值?过滤,javascript,jquery,html,Javascript,Jquery,Html,可能重复: 我的复选框出了问题。我试图在单击按钮时触发一个事件,以区分是否选中该按钮 这是我的密码 $(document).ready(function(){ $('.pointBox').click(function(event){ var operator = $(this).find('input').attr('operator'); var pointNum = parseInt($(this).find('input').val()); var point
我的复选框出了问题。我试图在单击按钮时触发一个事件,以区分是否选中该按钮 这是我的密码
$(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);
});
});
使用
此选项。改为选中
newPoints = this.checked ? currentPoints - pointNum
: currentPoints + pointNum;
假设问题是if语句不起作用,我已经成功地解决了这个问题
if($("#something").is(":checked")){
//do something
}
以防万一,因为你可以
is(":not(:checked)")
我很抱歉说不清楚。。我想出了解决这个问题的办法
通过在单击按钮时更改运算符值,将其减去可以修复问题,以便下次单击时可以减少点数。这很可能对其他任何人都没有帮助。。但它确实解决了问题。有没有提交积分的表格或其他什么?你到底遇到了什么问题?从你发布的代码中不太明显。。。你有什么错误吗?意外的结果?问题是什么?您是否尝试检查$(this).attr('checked')
返回的内容?$(this).is(“:checked”)可能会有所帮助。问题是它只在选中某个框时才能识别。未选中:\n这不起作用:\n它不会触发我的警报是的,它会起作用。如果要显示警报,请在我提供的代码之后/之前添加代码。它仍然只识别选中的单击,并将每次单击注册为选中。