如何验证提交按钮上的复选框?

时间:2015-09-07 11:55:34

标签: jquery validation checkbox

我有一个简单的问题但是我尝试了很多东西,但是它们没有像我期望的那样工作。

问题: 1.一些复选框,类似“a”,“b”,“c”但具有不同的id。 2.在按钮上单击我尝试验证只选中了一个复选框。 3.我只知道复选框类(公共元素)

我的代码:

$('#submit').click(function() {
    var matches = [];
    var items = document.getElementsByClassName('1'); //??? if the items is null?

    for (var i = 0; i < items.length; i++){
        matches.push({id:items[i].id, value:items[i].value});
    }

    if((matches[0].id != matches[1].id) &&(matches[0].value == matches[1].value))
        alert("ERROR!!!");
});

请告诉我解决该问题的最佳方法

2 个答案:

答案 0 :(得分:2)

您正在使用jQuery。你想使用带有classname&#34; 1&#34;的复选框。几乎就像它们是单选按钮一样,如果检查了多个按钮,则发出错误警告。您的classname is invalid,您很可能应该在表单提交上进行检查,但这里是您正在寻找的代码。

$('#submit').click(function() {
    if ($('.1:checked').length > 1) alert('error');
});

...我想你也想在这种情况下停止提交表格按钮:

$('#submit').click(function(e) {
    if ($('.1:checked').length > 1) {
        e.preventDefault();
        alert('error');
    }
});

答案 1 :(得分:1)

See this code it may be help you!
<input type = "checkbox" class = "a ownClass" id = "one"></input>
<input type = "checkbox" class = "b ownClass" id = "two"></input>
<input type = "checkbox" class = "c ownClass" id = "three"></input>
<input type = "button" id = "submit" value = "submit"></input>


  (function(){
        $("#submit").click(function(){
        var checked = [];
        $(".ownClass").each(function(currIndex, val){
        if($(this).is(':checked')){
            checked.push(this.id);
        }

     })
    console.log(checked);
  });
}());