2011-06-20 45 views
-1

Hallo太看看複選框是否已經過檢查javascript

我該如何去檢查checkBox是否已經在javascript中檢查過? I 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); 
     } 

我怎麼會做一個simlar東西用JavaScript?

親切的問候 阿里安

+0

已經在這裏解答:http://stackoverflow.com/questions/901712/check-checkbox-checked-property-using-jquery – MoarCodePlz

回答

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

使用jQuery的一點點:

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

不是這不起作用,但OP沒有要求,甚至指定他正在使用jQuery。 – Scottie

+0

啊,downvoters ... jQuery *是* javascript。重新設計一個簡單的方法是簡單的愚蠢。 – tvanfosson

+1

@Scottie - 如果他特意說「不使用框架」,我就不會這麼回答。事實上,指出使用優秀的工具給不熟悉它的人似乎並不是無益的。 – tvanfosson

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; 
} 

加成參考:

相關問題