1

我有一个字段模型,它代表某个字段(名称,描述,...)

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

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

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 的经验为零,所以有人可以帮我吗?

4

1 回答 1

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"); 
    }
});

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

于 2012-12-17T11:27:09.503 回答