我有一个预订表单,列出了带有单选按钮的类,用于预订课程 . 如果类已满,则使用类的单选按钮在行上显示等待列表复选框 . 在jQuery中,如果单击一个完整的类单选按钮,我希望jQuery检查waitlist复选框 . td class =“wailist”将在每一行中,但如果类已满,则复选框将仅在HTML中 . 我的jQuery到目前为止 -
var $class_table = JQuery('table.courses');
$class_table.find('input.radio').click(function (event)
{
//if this row has a td.waitlist with a checkbox in it then check that box
});
这是HTML片段:
<tr class="course_full">
<td class="course_select", colspan=2>
<label>
<input type="radio" name="course[1][1]"
id="course_id_1_9"
value="9"
>
Geometry 2
</label>
</td>
<td class="credit_recovery">
<label>
<input type="checkbox" name="credit_recovery[1][9]"
id="credit_recovery_id_1_9"
>
</label>
</td>
<td class="waitlist">
<label>
<input type="checkbox" name="waitlist[1][9]"
id="waitlist_id_1_9"
>
</label>
</td>
我在每次'这''最接近''找到'等方面都失败了 . 也许长度需要涉及?
3 回答
试试这个
如果单选按钮不是td的直接子项,则可能必须执行.parent() . parent()
你也可以试试
.parent().next(".waitlist") or .parent().prev(".waitlist")
如果不起作用,请告诉我
你可以试试
了解更多信息:亲子访问first-child-selector
click
活动有效吗?如果它's not, I'建议:radio选择器:如果是,则下一步是找到相对于找到的无线电的复选框 . 你可以简单地使用
parent
作为@Imdad建议(或多次调用父)或者closest . 在你的回调中:它将找到父行(无论您的单选按钮的嵌套程度如何),然后搜索复选框 inside 列为
waitlist
的列 . 如果find
的结果非空,则最后一次调用只会产生任何影响 . jsFiddle的工作示例如果您希望在导航结构时明确,则可以根据HTML代码段找到正确的列,其中包含2次调用
parent
和1次调用siblings
:工作示例here应该产生与第一个相同的结果 .
(注意:清理答案,保留正确的内容)