在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"); } });
然后提交,并在服务器端修剪和空间分割?