也看看是否已选中复选框javascript

时间:2011-06-20 13:39:29

标签: javascript

你好

我如何检查是否已在javascript中检查了checkBox? 我C#很简单

int selected = 0;
        for (int loop = 0; loop < chkMeal.CheckedItems.Count; loop++)
        {
            selected++;
        }
        if (selected > 1)
        {
            MessageBox.Show("only one meal allowed", "Halt", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

我怎么能用javascript做一个类似的东西?

亲切的问候 阿里安

3 个答案:

答案 0 :(得分:1)

例如,如果您给复选框一个类,您可以执行以下操作:

var myboxes = document.getElementsByClassName('myboxes');
for (var i=0; i<myboxes.length;i++) {
    if (myboxes[i].checked) {
        alert('Box number '+i+' is checked!');
    }
}

答案 1 :(得分:1)

使用一点点jQuery:

$(function() {
     $('form').submit( function() { 
         if ($('[name="chkMeal"]:checked').length > 1) {
             // show an error
             return false; // cancel submit
         }
     });
});

答案 2 :(得分:1)

简单地说,为表单添加一个唯一的id属性。然后,遍历HTMLFormElement.elements并检查HTMLInputElement.checked是否有真实值。

HTML:

<form id="foo" method="post" action="./">
    <input type="checkbox" name="check_a" value="foo" />
    <input type="checkbox" name="check_b" value="bar" />
    <input type="checkbox" name="check_c" value="baz" checked />
</form>

JS:

var foo = document.getElementById("foo"), i = 0, el;
for(i;i<foo.elements.length;i++)
{
    el = foo.elements[i];
    if(el.nodeType === 1 && el.tagName === "INPUT" && el.type === "checkbox")
    {
        //element node, is an input element, is a checkbox
        if(el.checked)
        {
            //checkbox is checked  
        }
    }
    el = null;
}

奖金参考: