我在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將有所幫助。 –