我在mvc 5中有一个checkboxlistfor
控件,并且希望获取选定的复选框的值,一旦我获得值,然后发送ajax请求并按照id获取数据,下面是 的引用链接,其中实现了类似的功能,在这里他使用了“for循环”的多个复选框,并且我使用了checkboxlistfor,使用这个我无法获得所选复选框的值。如何从checkboxlist中获取checkboxlist的值在MVC中使用jquery ajax
“https://forums.asp.net/t/2078931.aspx?How+to+get+data+from+checkbox+list+using+jquery+ajax+in+MVC+”
下面是我使用绑定checkboxlistfor代码
视图
@Html.CheckBoxListFor(model => model.sbuIDs,
model => model.Availablesbu,
sb => sb.sbuID,
sb => sb.sbuName,
model => model.Selectedsbu,
htmlListInfo)
控制器代码
[HttpGet]
public ActionResult AddUsers()
{
var Uvm = new UsersViewModel();
var Selectedsbu = new List<sbu>();
Uvm.Availablesbu = _User.Getallsbu();
Uvm.Selectedsbu = Selectedsbu;
return View(Uvm);
}
public class sbu
{
public int UserID { get; set; }
public int sbuID { get; set; }
public string sbuName { get; set; }
}
public class UsersViewModel()
{
public IEnumerable<sbu> sbu = null;
sbu = new List<sbu>();
public IEnumerable<sbu> Availablesbu { get; set; }
public IEnumerable<sbu> Selectedsbu { get; set; }
public string[] sbuIDs { get; set; }
}
更新代码
下面是Ajax请求,我将使用:
<script>
$("#CheckBoxListFor").change(function() {
debugger;
var favorite = [];
$.each($("input[name='sbuIDs']:checked"), function() {
favorite.push($(this).val());
});
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json",
url: '@Url.Action("Getvalues", "Home")',
data: JSON.stringify({ values: favorite })
});
});
</script>
控制器代码
public JsonResult Getvalues(string[] values)
{
//
}
这里的相关部分将转到AJAX和您的复选框的实际HTML标记以及控制器的代码接受AJAX调用。你能否把这个添加到你的问题中。 –
我还没有添加任何ajax调用,因为我无法获取所选择的复选框的ID,如果我有一些如何让checkboxlist内的复选框单击事件获取id的代码然后我将处理ajax请求。 –
我不熟悉CheckBoxListFor使用您传递的参数。渲染的html将有所帮助。 –