我是网络开发世界的新手。 我有一个基于ASP的应用程序。 NET MVC。
使用Razor
生成了一个复选框列表@foreach (var item in Model.Where(m => m.Visible))
{
<input id="selectedValues" name="selectedValues" type="checkbox" @(item.Selected ? "checked" : "") />
}
和触发Ajax操作的Javascript函数:
$('#selectedValues').change(function () {
var data = {};
data[$(this).attr('name')] = $(this).is(':checked');
$.ajax({
url: '@Url.Action("action", "controller")',
type: 'POST',
data: data,
success: function (result) {
}
});
});
在模型中,我有一些项目,复选框列表在html上构建正常。 问题是只有第一个复选框触发控制器上的操作。当我选择取消选择它时。
其他复选框不会触发操作。
知道如何解决这个问题吗?非常感谢!
答案 0 :(得分:0)
他们可能没有相同的ID而#是ID,而不是名称
$('input[name="selectedValues"]')
会更好用
或
<input class="selectedValues" name="selectedValues"
使用
$(".selectedValues")
最后使用.on(“点击”而非更改,因为在某些浏览器中没有模糊不会触发更改