Jquery 将事件绑定到具有相同名称的多个输入

Jquery 将事件绑定到具有相同名称的多个输入,jquery,asp.net-mvc,asp.net-mvc-3,jquery-ui,Jquery,Asp.net Mvc,Asp.net Mvc 3,Jquery Ui,在我的ASP MVC页面中,根据用户单选按钮组的选择,有四到五个不同的菜单可用。其中一些字段共享一个文本输入框,我需要将一个偶数绑定到该框。但是,事件仅在列表的第一个菜单中起作用。是否可以将同一事件绑定到共享同一名称的多个输入 jQuery $('#LastName').change(function () { if ($('#LastName').val() == '') { $('#BankName').html(""); }

在我的ASP MVC页面中,根据用户单选按钮组的选择,有四到五个不同的菜单可用。其中一些字段共享一个文本输入框,我需要将一个偶数绑定到该框。但是,事件仅在列表的第一个菜单中起作用。是否可以将同一事件绑定到共享同一名称的多个输入

jQuery

    $('#LastName').change(function () {
        if ($('#LastName').val() == '') {
            $('#BankName').html("");
        } else {
            $.ajax({
                type: 'GET',
                url: '@Url.Action("GetBankName", "Agent")',
                data: { routing: $('#RoutingNumber').val() },
                success: function (data) {
                    $('#BankName').val(data);
                    $('#BankName').text(data);
                }
            });
        }
    });
ASP MVC

此HTML在加载时显示在页面上,但是一次只能看到一个
字段集

            <fieldset id="Enroll" style="width:380px; display: none;">
            .
            .
                <div class="M-editor-label">
                    @Html.LabelFor(model => model.LastName)<span class="req">*</span>
                </div>
                <div class="M-editor-field">
                    @Html.TextBoxFor(model => model.LastName)
                </div> 
            <fieldset id="ModT" style="width:380px; display: none;">
            .
            .           
                <div class="M-editor-label">
                    @Html.LabelFor(model => model.LastName)<span class="req">*</span>
                </div>
                <div class="M-editor-field">
                    @Html.TextBoxFor(model => model.LastName)
                </div> 
            <fieldset id="ModA" style="width:380px; display: none;">
            .
            .
                <div class="M-editor-label">
                    @Html.LabelFor(model => model.LastName)<span class="req">*</span>
                </div>
                <div class="M-editor-field">
                    @Html.TextBoxFor(model => model.LastName)
                </div>

.
.
@LabelFor(model=>model.LastName)*
@Html.TextBoxFor(model=>model.LastName)
.
.           
@LabelFor(model=>model.LastName)*
@Html.TextBoxFor(model=>model.LastName)
.
.
@LabelFor(model=>model.LastName)*
@Html.TextBoxFor(model=>model.LastName)

只需更改jQuery选择器

$('input[name=your-input-name]')
而不是:

$('#LastName')
以及活页夹,以涵盖未来添加的输入:

$('input[name=your-input-name]').on("change", function () { });

只需更改jQuery选择器

$('input[name=your-input-name]')
而不是:

$('#LastName')
以及活页夹,以涵盖未来添加的输入:

$('input[name=your-input-name]').on("change", function () { });

您正在使用ID,但它们应该是唯一的

这就是它不起作用的原因,因为在执行
$(“#LastName”)
时,jquery使用
document.getElementById
,并且总是返回单个元素


改用类。如果您确实需要多个id(顺便说一句,这是无效的HTML),您可以(但我不推荐)使用
$('[id=LastName]')
您使用的是id,但它们应该是唯一的

这就是它不起作用的原因,因为在执行
$(“#LastName”)
时,jquery使用
document.getElementById
,并且总是返回单个元素


改用类。如果您确实需要多个id(顺便说一句,这是无效的HTML),您可以(但我不推荐)使用
$('[id=LastName]')

太好了!7年前你救了我一天:)太好了!7年前你救了我的命:)