1

我在文本输入旁边有一堆单选按钮。当单选按钮状态改变时,我运行一个方法来获取所有带有“.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”类查找下一个文本框,但这不起作用。一切正常,除了获取下一个文本框的行。

有什么建议么

4

2 回答 2

1

您可以将最接近()与选择器一起使用"editor-container"以访问parent of TextBox带有类 IdPassportTextBox 并使用find()与选择器".IdPassportTextBox"方法来访问文本框。

$(".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");
        }
});
于 2012-11-30T05:47:57.683 回答
1

使用 jQuery '.Parent()' 方法来获取封闭的 'editor-container',然后从中选择 'IdPassportTextbox'。

于 2012-11-30T06:05:26.827 回答