2013-12-18 41 views
0

我有這樣的HTML標記:JS選擇輸入的類型和名稱

<input type="text" name="name1" class="stat" value=""> 
<input type="checkbox" name="name1" value=""> 

<input type="text" name="name2" class="stat" value=""> 
<input type="checkbox" name="name2" value=""> 

<input type="text" name="namei" class="stat" value=""> 
<input type="checkbox" name="namei" value=""> 

where i = 1,2,3, ... n 

問:如何與NAME2選擇複選框?

這是正確的方法嗎?

$('input[name="name2"]').find('input[type="checkbox"]').attr("disabled"); 
+0

試輸入[名稱= 「nam2」] [類型= 「複選框」]。 – Andrew

+0

$('input [name =「name2」]')。find將找到dedeceends,實際上$('input [name =「name2」]')。filter(..)ok – Andrew

+0

「這是正確的嗎? ,還沒有測試過? – leaf

回答

2

您可以同時使用多個屬性選擇器。您的find將不起作用,因爲checkbox是文本input的兄弟,而不是孩子。試試這個:

$('input[name="name2"][type="checkbox"]').prop("disabled"); 

請注意,這將是非常緩慢的性能。更好的解決方案是在複選框本身上使用classid屬性並按此選擇。另外,您應該使用prop來檢索元素的屬性。

最後,如果要設置的disabled屬性,需要提供一個第二參數到prop方法:

$('input[name="name2"][type="checkbox"]').prop("disabled", true); // disables the element 
1

find()選擇匹配元素的降序元件。

在這裏,複選框和輸入框是兄弟姐妹。

嘗試:

$('input[type="text"][name="name2"]').next().attr("disabled","disabled"); 

OR

$('input[type="checkbox"][name="name2"]').attr("disabled","disabled"); 
+1

@RoryMcCrossan謝謝。編輯答案 – Hiral

相關問題