我有一个Field模型,它代表某个字段(Name,Description,...)
class FieldModel : EntityModel
{
...
public bool ToCopy { get; private set; }
public string Id {get; private set; }
...
}
索引模型,其中包含字段集合:
class EntityModel
{
...
}
class IndexModel
{
public IEnumerable<EntityModel> Fields { get; private set; }
}
复制控制器,应该接受要复制的字段ID:
public void CopyFields(string[] fieldsIds)
{
...
}
我需要通过复选框选择要复制的某些字段。所以在Field的vew中我添加了
@Html.CheckBoxFor(x => x.IsSelectedForCopy)
在索引视图
中<button onclick="onCopyClick('@Model');" type="button" class="btn showButton">Copy Fields</button>
现在我需要编写一个脚本来选择所有已检查的字段并将其ID发送到控制器。我对Javascript / jQuery没有经验,所以有人可以帮助我吗?
答案 0 :(得分:3)
这应该至少让你开始;)
你给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");
}
});
然后提交,并在服务器端修剪并按空格分割?