如何查找选中的复选框并将其传递给 MVC 中的操作结果
How to find which checkboxes are selected and pass them to ActionResult in MVC?
我有一个MVC5应用程序,在我的一个视图中,我有这样的东西:
<div id="subcatsform" class="form-group" style="visibility:hidden;">
@Html.LabelFor(m => m.Subcategories, new { @class = "col-md-3 control-label" })
<div id="subcats" class="col-md-9">
</div>
</div>
然后,在我的 JavaScript 部分,我做了这样的事情来填充我的空div
。
$(function () {
$("#CategoryID").on("change", function () {
var selected_option = $("#CategoryID option").filter(":selected").text();
$("#subcats").empty();
if (selected_option != "Please select a category") {
$("#subcatsform").css("visibility", "visible");
$.ajax({
url: "/Home/GetSubcategories",
dataType: "json",
data: {
cid: $("#CategoryID").val(),
},
success: function (data) {
$.each(data, function (key, value) {
var checkbox = '<input type="checkbox" name="subcategory" value="' + value.id + '"> ' + value.value + '<br />';
$("#subcats").append(checkbox);
});
}
});
}
else
{
$("#subcatsform").css("visibility", "hidden");
}
});
});
因此,我只需检查先前选择了类别,然后相应地列出在该类别中找到的所有子类别,并为每个子类别创建带有类型复选框的输入。这一切正常,当我更改类别时,我能够获得适当的子类别,并为我创建复选框。
问题是,后来当用户按下视图窗体中的提交按钮时,我不知道如何找出选中了哪些复选框。
我的ActionResult
定义如下:
public async Task<ActionResult> RegisterBusiness(BusinessViewModel model)
在我的业务视图模型中,我有一个定义如下的属性:
public virtual ICollection<Subcategory> Subcategories { get; set; }
任何想法,我如何获得所有选中的复选框,并在提交表单时获取其 value 属性?
假设您的子分类类中有一个名为 IsSelected 的布尔属性。您应该能够发送这样的值
var checkedList = $.map($(':input[name="Subcategory"]'),
function(){
var $this = $(this);
return {
name :$this.data('subcatagory'), // You can add the subcatagory as a data dash attribute or any other unique identifier in html of the checkbox before appending
IsSelected : $this.is(':checked')
}});
$.ajax({
url : '<your url>',
type:"POST",
contentType:"application/json; charset=utf-8",
data : JSON.Stringify({
'Subcategories' :checkedList
})
});
相关文章:
- javascript操作(轮盘赌)打开特定页面的结果
- 如何在函数外返回此操作的结果
- 拖放操作会产生不良结果
- 如何对javascript表进行排序(升序或降序),该表是某些SQL操作表的结果
- jqueryajax帖子将我发送到操作页面,并且不会显示结果数据
- JavaScript 添加操作返回错误的结果
- 如何打开模态窗体,在控制器中执行操作,并在 Grails 中呈现结果
- 操作 RxJS 流并发布结果的可观察量的正确方法是什么?
- 如何将复选框的值传递给 MVC5 中的操作结果
- 如何查找选中的复选框并将其传递给 MVC 中的操作结果
- 在表单中搜索字段,然后对所有选定的结果执行某些操作
- 如果操作结果已完成,如何打印结果
- 如果没有来自chrome.tabs.query的结果,请执行某些操作
- 操作数据表字段的结果
- 操作结果在 ajax 调用中作为错误返回
- 从更改事件调用操作结果 [MVC4]
- jQuery 弹出框,返回从 struts 操作类返回结果
- .prepend() 结果对每个人都是可见的,而不仅仅是对执行操作的人
- 如何在收到并操纵 firebase-web 结果后触发操作
- 根据php-if/else语句的结果创建javascript操作