我有一个表,其中每行中的列包含相同的<select>
选项,如下所示:
<tr>
....
<td>..</td>
<td>
<select id="gender">
<option value="M">Male</option>
<option value="F">Female</option>
</select>
</td>
</tr>
<tr>
....
<td>..</td>
<td>
<select id="gender">
<option value="M">Male</option>
<option value="F">Female</option>
</select>
</td>
</tr>
<tr>
....
<td>..</td>
<td>
<select id="gender">
<option value="M">Male</option>
<option value="F">Female</option>
</select>
</td>
</tr>
让我说我目前正在第二行工作,如何禁用第三行的选项?
答案 0 :(得分:1)
$(this).closest("tr").next().find("select").prop("disabled", true);
使用closest("selector")
方法遍历父级(您也可以使用parents("selector")
),使用next()
跳转到下一个,然后遍历到find("selector")
,使用prop()
编辑表单元素。
当然,您将此行放在某种事件处理程序中,可能是前一个change
元素触发的select
事件。但是,在你这样做之前,你需要确保你没有加倍id
...否则jQuery将无法正常工作。