2011-01-27 136 views
0

我正在用循環創建複選框。我想取消選中所有複選框START,名稱爲「NameCheckBox」,ID爲「nameChk」。因此以下所有內容都不會被設置爲檢查。如何選擇具有唯一名稱的所有複選框?

<input id='nameChk1' name='NameCheckBox1' type='checkbox' /> 
<input id='nameChk2' name='NameCheckBox2' type='checkbox' /> 
<input id='nameChk4' name='NameCheckBox4' type='checkbox' /> 

和下面將不會受到影響

<input id='dateChk1' name='DateCheckBox1' type='checkbox' /> 
<input id='dateChk2' name='DateCheckBox2' type='checkbox' /> 
<input id='dateChk3' name='DateCheckBox3' type='checkbox' /> 

我該怎麼辦呢?

+0

你想這樣做背後的代碼頁? – Matten 2011-01-27 21:47:43

+0

你在asp或Silverlight或其他工作? – FeRtoll 2011-01-27 21:49:30

回答

2

可以使用starts-with attribute selector瞄準你想要的元素..

$('input:checkbox[name^=NameCheckBox][id^=nameChk]').attr('checked', false); 
+1

使這個`輸入:複選框`會提高性能,否則,暗示通用選擇器「*」。 – mVChr 2011-01-27 22:06:09

0

這不是一個好的做法。你最好用某種css類來識別這些名稱字段。

<input id="foo" class="namecheck">

然後使用$(".namecheck").attr("checked", false);取消選中它們,當你需要。

0
$('input:checkbox[name^=NameCheckBox]').removeAttr('checked'); 

可以爲ID的名稱,而不是做同樣的。 但是,使用通用類名稱更好,而且可能更快。