2014-02-20 115 views
0

jQuery的

$("select[id^='_taskAssignedTo_']").each(function(id) { 
    if ($(this).val() == "1") { 
     $(this).next().find("select[id^='_taskStatus_']").prop("disabled", false); 
    } 
}); 

HTML

<td> 
    <select id="_taskAssignedTo_1"> <!-- options --> </select> 
<td> 
<td> 
    <select id="_taskStatus_1"> <!-- options --> </select> 
<td> 

我通過循環和尋找第一select因爲它有我需要搜索的價值,我想使select在它旁邊叫_taskStatus_1。有很多,所以重要的是我使用「開始」語法。選擇下一個jQuery的選擇

上面的代碼不起作用。我不確定是否需要使用nextfind,其他或其他組合?

+1

這是更好地提供的jsfiddle鏈接或類似的 – Lab

+2

@ neo的問題是東西在所提供的代碼非常清楚。 –

+2

理想情況下,當您想要將CSS鉤子添加到多個元素時,請使用類而不是id。如果您還想根據需要將唯一標識符分配給具有該類的元素,請使用data-id或#prefix- {someid}。 –

回答

3

只要做到:

$(this).closest("td").next("td").find("select[id^='_taskStatus_']"); 

你必須先乘車返回到您td(最近) - 然後到下一個td(下) - 然後find你正在尋找的元素。

+0

這工作,將標記正確。謝謝.... – KickingLettuce

1

嘗試:

$(this).parent().next().find("select[id^='_taskStatus_']").prop("disabled", false);