在我的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
。
<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>
答案 0 :(得分:1)
只需更改jQuery选择器吗?
$('input[name=your-input-name]')
而不是:
$('#LastName')
以及粘合剂,以涵盖未来的输入:
$('input[name=your-input-name]').on("change", function () { });
答案 1 :(得分:1)
你正在使用id,但id应该是唯一的。
这就是为什么它不起作用,因为在执行$('#LastName')
时,jquery执行document.getElementById
并且只返回1个元素。
改用class。如果你绝对想要多个(为什么是无效的html),你可以但不建议使用$('[id=LastName]')