如何检查复选框是否被选中?

时间:2018-08-04 08:31:16

标签: javascript jquery checkbox html-form

这是我现在拥有的东西: 我有一个复选框,需要确认是否已选中。

<input type="checkbox" name="person_info_check" value="0" &nbps>Read and agree!</input>

但是,当我尝试使用通过Internet搜索的方式时,我发现无法抓住复选框进行验证。

这是我抓取复选框的方式:

        if($('#person_info_check').is(':checked')){
            if(confirm("Are you sure to submit?")){
                return true;
            }
            else return false;
        }
        else{
            alert("Please read the file and agree the statement!");
            return false;
        }

我也尝试过:

        var checkbox = document.getElementsByName("person_info_check");

        if(checkbox[0].checked==false){
            alert("Please read the file and agree the statement!");
            return false;
        }

3 个答案:

答案 0 :(得分:0)

您使用的$('#person_info_check')实际上是一个jQuery ID,而在HTML中您指定了name="person_info_check"时,则不会选择您的元素。

尝试在复选框元素中指定id="person_info_check"。大多数jQuery代码都可以正常工作。

或者您可以使用JQuery名称选择器。

$("input[value='person_info_check]")

答案 1 :(得分:0)

问题在于person_info_check不是您输入的ID,而是name属性。您应该使用此: $("input[name='person_info_check']").is(':checked');

答案 2 :(得分:0)

您的代码中存在主要错误,例如:

  1. 输入类型checkbox不需要任何值标签
  2. 输入类型不需要结束标记
  3. 输入类型不接受HTML文本;根据标签类型,它只能具有值或已检查状态。

有关输入标签的更多详细信息,请参见here。代码示例如下:

var checkbox = document.getElementById("che");

if (checkbox.checked == true) {
  alert('I am checked')
}
<input type="checkbox" name="person_info_check" id='che' checked/> <label for='che'>I am checkbox</label>