is('checked')筛选方法工作不正常

is('checked') filtering method not working correctly

本文关键字:方法 工作 不正常 筛选 checked is      更新时间:2023-09-26

我正在尝试查看is()方法是否选中了一个复选框,但它给出了一个意外的结果。无论哪种方式,如果我是否选中复选框,该方法都将返回false。

HTML

<form action="" method="post" id="place_order"> 
<input type="checkbox" name="tos" class="required check-condition" />
<span class="error error-tos" style="display:none">* This field is required</span><br>
<input type="submit" name="place_order" value="Submit Order" class="order-sb-btn" />
</form>

Jquery

$("#place_order").submit(function () {
    var is_tos_checked = $(".check-condition").is('checked');
    console.log(is_tos_checked);
    if (is_tos_checked) {
        $(".error-tos").hide();
        return true;
    } else {
        $(".error-tos").show();
        return false;
    }
});

Jsfidle

http://jsfiddle.net/yogc5ypb/1/

您需要将checked表示为伪选择器,即前缀为:

.is(':checked');

我通常使用.prop('checked')因此,在您的代码中,您可以将行更改为:

var is_tos_checked = $(".check-condition").prop('checked');

如果您想在用户选中复选框的情况下提交表单,那么您也可以使用以下方法-

1.在html文件中写入以下语句

<form action="" method="post" id="place_order"> 
<input type="checkbox" name="tos" class="required check-condition" />
<span class="error error-tos" style="display:none">* This field is required</span><br>
<input type="submit" name="place_order" value="Submit Order" class="order-sb-btn" />
</form>

2.在js文件中编写以下语句。

jQuery('.order-sb-btn').click(function(){
    var checkedValue = $('.required:checked').val();
    if(checkedValue == undefined)
    {
        alert('not checked');
        return false;
    }
    else
    {
            alert('checked');
    }

})

通过使用上述代码,如果用户选中复选框,表单将被提交。要查看示例,请参阅以下链接-

http://jsfiddle.net/1eygh774/1/