Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC jquery复选框列表帖子?_Asp.net Mvc_Arrays_Jquery - Fatal编程技术网

Asp.net mvc ASP.NET MVC jquery复选框列表帖子?

Asp.net mvc ASP.NET MVC jquery复选框列表帖子?,asp.net-mvc,arrays,jquery,Asp.net Mvc,Arrays,Jquery,后处理方法: function PostChartValues(meter_id, range_type_id, start_date, end_date) { var values = $("#type_selection").val(); //values = expected values as string array $.ajax({ url: '/Widget/GetMeterReadingsTimeSeries', type: 'POST', data: {

后处理方法:

function PostChartValues(meter_id, range_type_id, start_date, end_date) {
var values = $("#type_selection").val();
//values = expected values as string array
$.ajax({
    url: '/Widget/GetMeterReadingsTimeSeries',
    type: 'POST',
    data: { MeterType: meter_id, DateRangeType: range_type_id, StartDate: start_date, EndDate: end_date, Parameters: values },
    beforeSend: function () {
        $("#chart_loading_div").show();
    },
    complete: function () {
        $("#chart_loading_div").fadeOut();
        $(".grids").jqGrid('GridUnload');
        grid(meter_id, range_type_id, $("#start_date").val(), $("#end_date").val());
    },
    success: function (result) {
        $("#chart").html(result);
    },
    error: function (result) {
        alert("Seçilen kritere uygun veri bulunamadı!");
    }
});   //end ajax
} //end PostChartValues
行动方法:

public ActionResult GetMeterReadingsTimeSeries(int MeterType, int DateRangeType, DateTime? StartDate, DateTime? EndDate,string[] Parameters)
{
    // ...
    return PartialView("_TimeSeries", chart);
}
我调试了它。只有参数数组为空。使用jquery post发布数组还有其他方法吗


谢谢。

您可以将选定的值作为字符串发布,然后将其解析回数组。我在下面创建了基本示例

标记

<script src="~/Scripts/jquery-1.7.1.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#someButton').click(function () {
            var selectedValues = [];
            $('#MyDiv input:checked').each(function () {
                selectedValues.push($(this).val());
            });
            console.log(selectedValues);
            $.ajax({
                url: 'someurl',
                type: 'POST',
                data: { values: selectedValues.join(",") }
            });
        });
    });
</script>
<button id="someButton">Do Ajax</button>
<div id="MyDiv">
    <input type="checkbox" value="test1" />
    <input type="checkbox" value="test2" />
    <input type="checkbox" value="test3" />
</div>

如果您使用以下选项,则可以使用另一种方式获取选定值:


看一看问题+1。“加入”和“分裂”是个好主意。谢谢但我认为,可能有更好的方法。是的,您可以创建表单和模型,然后通过ajax将其发送到服务器,$(“#someForm”)。serialize()提供post数据,您可以通过控制器操作来处理它。。对于样品,是的。我已经准备好采纳你的建议了。但我不想破坏我现有的工作。再次感谢。
public class HomeController : Controller
    {       
       public void Test(string values)
        {
            string[] selectedValues = values.Split(',');
        }
    }
var selectedValues = _.map($("#myDiv:checked"), function (item) { return $(item).val(); });