由於您無法使用jquery的約束,獲取以特定字符串開頭的所有元素名稱的最佳方法是什麼? (這些都是複選框,我想清除所有別人當一個被選中使用子字符串獲取document.getElementByName
我的解決方案的工作,但似乎不太理想;有沒有更好的辦法
我在做什麼是放? 。一個div內得到DIV的所有孩子,然後他們的姓名與我要找的複選框這裏的JavaScript的:
<script language="javascript" type="text/javascript">
function clearCheckboxes(name, id, divtag) {
if (document.getElementById(id).checked == false) {
return;
}
var listbox = document.getElementById(divtag);
var list = listbox.childNodes;
for(var i = 0; i < list.length; i++) {
if (list[i].type != "checkbox") continue;
if (list[i].id == id) continue;
if (list[i].name.substr(0, name.length) == name)
{
list[i].checked = false;
}
}
}
然後將HTML看起來像這樣:
<div id="tag_div_2">
<input type="checkbox" name="tags_Type_4" id="4" onclick="clearCheckboxes('tags_Type_',4,'tag_div_2');" />3 Stone Ring
<input type="checkbox" name="tags_Type_3" id="3" onclick="clearCheckboxes('tags_Type_',3,'tag_div_2');" />Engagement Ring
<input type="checkbox" name="tags_Type_2" id="2" onclick="clearCheckboxes('tags_Type_',2,'tag_div_2');" />Solitaire
<input type="checkbox" name="tags_Type_5" id="5" onclick="clearCheckboxes('tags_Type_',5,'tag_div_2');" />Wedding Set
</div>
是不是有沒有使用收音機而不是複選框的原因? – Shad
此外,HTML元素ID不得以數字開頭: http://www.w3.org/TR/REC-html40/types.html#type-name – Shad
這是一個很長的故事 - 一些複選框是單一的選擇和其他人不是。但是,對於那些可能使用單選按鈕會更好。 –