Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-检查值还是未检查值?过滤_Javascript_Jquery_Html - Fatal编程技术网

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它不会触发我的警报是的,它会起作用。如果要显示警报,请在我提供的代码之后/之前添加代码。它仍然只识别选中的单击,并将每次单击注册为选中。