[英]Check if all radio buttons checked having particular value
<input type="radio" checked="checked" value="true" name="child">
<span class="label">Show</span>
<input type="radio" class="hide" value="false" name="child">
<span class="label">Hide</span>
和同一頁上的另一個單選按鈕
<input type="radio" checked="checked" value="true" name="baby">
<span class="label">Show</span>
<input type="radio" class="hide" value="false" name="baby">
<span class="label">Hide</span>
我需要知道是否使用javascript檢查了所有具有value="false"
的單選按鈕。
注意:單選按鈕名稱不同
如果您使用jQuery,它非常干凈:
if ($("input[type='radio'][value='false']").not(':selected').length==0) {
// Do what you want
}
jQuery表達式表示所有錯誤的單選按鈕均已選中
boudou擊敗我35秒...
但是,除了for
之外for
還可以使用foreach
邏輯:
var buttons = document.getElementsByTagName("input");
for (var i = 0; i < buttons.length; i++) {
var button = buttons[i];
var id = button.getAttribute("id");
var type = button.getAttribute("type");
var value = button.getAttribute("value");
var checked = button.getAttribute("checked");
if (type === "radio" && value === "false" && checked === "checked") {
alert(id);
}
}
腳本可以壓縮,這樣編寫可以更好地理解。
在此處查看演示。
您可以嘗試以下方法:
function testRadios() {
var r = document.getElementsByTagName("input");
for (var i=0; i < r.length; i++) {
if ( (r[i].type == "radio")
&& (r[i].value == "false")
&& (r[i].checked != "checked")) {
return false;
}
return true;
}
PS:使用<label>
代替<span class="label">
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.