是('检查')过滤方法无法正常工作

时间:2015-10-28 12:55:54

标签: javascript jquery html

我试图查看是否使用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;
    }
});

的jsfiddle

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

3 个答案:

答案 0 :(得分:5)

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

.is(':checked');

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

如果要在用户选中时提交表单复选框,则还可以使用以下方法 -

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/