gpt4 book ai didi

jquery - ASP.NET MVC 列表框处理所选项目事件

转载 作者:行者123 更新时间:2023-12-01 01:10:34 24 4
gpt4 key购买 nike

我在 View 中使用 HTML.ListBox,如下所示:

<%= Html.ListBox("projects", Model.Projects)  %>

它填充了 IEnumerable <SelectListItem>在这样的模型中:

Projects = project.Select(a => new System.Web.Mvc.SelectListItem
{
Value = "foo",
Text = a.project + "(" + a.count + ")",
Selected = false
});

return Projects;

它又返回到 Controller 以传递到强类型 View 。

我的问题是,如何监控所选项目事件?当用户进行选择和/或取消选择时,我需要能够执行一些操作。

谢谢。

最佳答案

如果您熟悉 jQuery,您甚至可以捕获更改并提交您的表单:

$('#projects').change(function () {
$(this).parents('form').submit();
});

或者您可以使用ajax向操作提交一些数据

$('#projects').change(function () {
$.ajax({
type: 'POST',
url: '<%=Url.Action("<action>", "<controller>")%>',
data: { id: $('#projects').val() },
dataType: 'json',
complete: function(XMLHttpRequest, textStatus) {
// Do something here.
}
});
});

更新:

由于您正在使用jQuery Dropdown Check List您甚至可以捕获 onItemClick 并调用 Controller 的操作,传递所选选项的值和选中/未选中的状态:

$("#projects").dropdownchecklist({
emptyText: "select something",
width: 150,
onItemClick: function(checkbox, selector){
var isChecked = checkbox.prop("checked");
alert("element id: " + checkbox.prop("value"));

$.ajax({
type: 'POST',
url: '<%=Url.Action("<action>", "<controller>")%>',
data: { selecteId: checkbox.prop("value"), isChecked: isChecked },
dataType: 'json',
complete: function(XMLHttpRequest, textStatus) {
// Do something here.
}
});
}
});

你可以看看这个fiddle .

关于jquery - ASP.NET MVC 列表框处理所选项目事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6519433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com