我在文本输入旁边有一堆单选按钮。当一个单选按钮状态改变时,我运行一个方法,获取所有单选按钮的类“.IdPassportRadioButton”。对于每个单选按钮,我想找到下一个文本输入,并根据单选按钮启用或禁用该输入。
HTML如下所示:
<div class="editor-container" style="">
<div class="editor-label">
<%=Html.RadioButtonFor(m => m.IsPassport, false,
new { @class = "IdPassportRadioButton" })%>
ID Number
</div>
<div class="editor-field">
<%=Html.TextBoxFor(m => m.IdentityNumber,
new { @class = "textbox IdPassportTextBox"})%>
</div>
</div>
JQuery方法:
$(".IdPassportRadioButton").each(function() {
if ($(this).is(":checked")) {
$(this).next(".IdPassportTextBox").removeAttr("disabled");
} else {
$(this).next(".IdPassportTextBox").attr("disabled", "disabled");
}
});
正如您所看到的,我尝试按类“.IdPassportTextBox”找到下一个TextBox,但这不起作用。除了获取下一个文本框的行之外,一切正常。
任何建议
答案 0 :(得分:1)
您可以使用带有选择器"editor-container"
的{{3}}来使用类IdPassportTextBox访问parent of TextBox
并使用closest()使用选择器".IdPassportTextBox"
方法访问文本框。< / p>
$(".IdPassportRadioButton").each(function() {
if ($(this).is(":checked")) {
$(this).closest(".editor-container").find(".IdPassportTextBox").removeAttr("disabled");
} else {
$(this).closest(".editor-container").find(".IdPassportTextBox").attr("disabled", "disabled");
}
});
答案 1 :(得分:1)
使用jQuery'.Parent()'方法获取封闭的'editor-container',然后选择'IdPassportTextbox'。