2010-09-01 78 views
2

我有以下代碼:當我點擊第一個複選框jQuery的:選擇下一個嵌套輸入

<td><input class="publish" id="publish_company_ids" name="publish_company_ids[]" type="checkbox" value="1" /></td> 

<td><input class="discard" id="discard_company_ids" name="discard_company_ids[]" type="checkbox" value="1" /></td> 

我想,第二個複選框被禁用。我試圖這個jquery代碼:

$(".publish").click(function() { 
$(this).parent().next("td > input[text='checkbox']").css("border","1px solid green"); 
}); 

我試圖通過更改CSS邊界,但它不起作用。

回答

1

首先,您的選擇器中有text而不是type

第二,如果沒有幫助,試試這個:

$(this).parent().next('td').children('input:checkbox').css('border','1px solid green'); 
+0

它的工作,只是它不希望的CSS變化(這並不適用的邊界),所以我撥動更換( ),它的工作。我嘗試了很多東西,但只有這個工作。謝謝 – JohnDel 2010-09-01 20:03:05

+0

不客氣! =) – 2010-09-01 20:43:08

2

如果你想允許用戶只選擇複選框中的一個,那麼你應該單選按鈕而不是複選框。

+0

如果我添加單選按鈕,我將不得不添加3個收音機,以防有人想取消選擇該選項。 – JohnDel 2010-09-01 13:11:13

+0

您不必添加三個收音機,但您不需要默認選擇任何收音機。而已。你將有三個結果。一個是publish_company_ids,discard_company_ids和null,你不會得到任何價值。 – 2010-09-01 13:16:20

+1

如果用戶不小心選擇了一個選項,並希望在取消選擇它之後,我必須添加它。 – JohnDel 2010-09-01 13:19:31

0

嘗試:

$(".publish").click(function() { 
$(this).parent().find("input.discard").css("border","1px solid green"); 
}); 

或者:

$(".publish").click(function() { 
$(this).parent().children("input.discard").css("border","1px solid green"); 
});