如何将输入作为数组jQuery提交

时间:2013-02-05 16:47:37

标签: c# jquery json

我有以下HTML:

<div id="tagType1">
    <input id="tag1" name="tagType1" value="tag1" type="checkbox" />
    <input id="tag2" name="tagType1" value="tag2" type="checkbox" />
    <input id="tag3" name="tagType1" value="tag3" type="checkbox" />
    <input id="tag4" name="tagType1" value="tag4" type="checkbox" />
</div>

<div id="tagType2">
    <input id="tag5" name="tagType2" value="tag5" type="checkbox" />
    <input id="tag6" name="tagType2" value="tag6" type="checkbox" />
    <input id="tag7" name="tagType2" value="tag7" type="checkbox" />
    <input id="tag8" name="tagType2" value="tag8" type="checkbox" />
</div>

以下jQuery:

 $.get($("#filter form").attr("action") + "/count", function (data, textStatus, jqXHR) {
        $('#workCount span').text(data.toString());
    });

以下方法:

public JsonResult Count(string[] tagType1 = null, string[] tagType2 = null)
{
    // Do something
}

我的问题是,如何在jQuery中将我的两个容器的输入分组

2 个答案:

答案 0 :(得分:0)

尝试使用$(“:input”)。serializeArray();

.serializeArray()返回:Array

将一组表单元素编码为名称和值的数组。

http://api.jquery.com/serializeArray/

答案 1 :(得分:0)

您可以使用traditional: true

string[] tagType1 = //ALL OF THE TAG ONE COLLECTIONS 
string[] tagType2 = //ALL OF THE TAG TWO COLLECTIONS 

var params = { data2: tagType1, data2: tagType2 };
   $.ajax({
            type: "GET",
            url: "yoururl",
            data: params,
            dataType: "json",
            traditional: true
        });

动作:

public JsonResult Count(string[] data1, string[] data2)
{
    // Do something
}