在MVC中使用jQuery查找已选中复选框的ID

我有一个Field模型,它代表某个字段(Name,Description,…)

class FieldModel : EntityModel { ... public bool ToCopy { get; private set; } public string Id {get; private set; } ... } 

一个Index模型,它有一个Fields集合:

 class EntityModel { ... } class IndexModel { public IEnumerable Fields { get; private set; } } 

复制控制器,应接受要复制的字段ID:

 public void CopyFields(string[] fieldsIds) { ... } 

我需要通过复选框选择要复制的某些字段。 所以在Field的vew中我添加了

 @Html.CheckBoxFor(x => x.IsSelectedForCopy) 

在索引视图中

  

现在我需要编写一个脚本来选择所有已检查的字段并将其ID发送到控制器。 我没有使用Javascript / jQuery的经验,所以有人可以帮助我吗?

这应该让你至少开始;)

你给jQuery一些css选择器,它给你匹配的对象…

 $("input :checked").each(function() { alert($(this).attr("id")); }); 

根据您要如何发送它们,您可以将每个id附加到表单上的隐藏字段,如下所示:

 $("input :checked").each(function() { var tmp = $("#myHiddenField").val(); tmp += " " + $(this).attr("id")); $("#myHiddenField").val(tmp); }); $.ajax("TheURLToPostTheDataTo", {data: [ {idsToSend:$("#myHiddenField").val()} ], success: function() { alert("Done"); } }); 

然后提交,并在服务器端修剪和空间分割?