【问题标题】:MVC - Sending List of Values to AJAX callMVC - 将值列表发送到 AJAX 调用
【发布时间】:2014-12-03 22:57:06
【问题描述】:

我有一个模态框,可以打开并为用户提供检查某些复选框的选项。当用户选中他选择的复选框时。我想发送所有复选框的值并调用 AJAX 方法。

我想将选中复选框的值发送到 Controller 方法。

这是我的代码:-

// These are dynamic checkboxes - This is just an e.g
<input type="checkbox" name="name" value="Code">
<input type="checkbox" name="name" value="Code1">
<input type="checkbox" name="name" value="Code2">
<input type="checkbox" name="name" value="Code3">

// onClick event of Button
 jq.get('/Controller/getData', function (data) {
      jq('#placeHolder').html(data);
 });

 // Controller
 [HttpGet]
 public ActionResult getData()
 {   
      return PartialView("_pagepartial");
 }

【问题讨论】:

    标签: ajax asp.net-mvc asp.net-mvc-4 checkbox


    【解决方案1】:

    获取选中复选框的值并添加到数组中

    var array = [];
    $('input:checked').each(function() {
      array.push($(this).val());
    }
    

    并传递给你的控制器

    $.ajax({
      type: "GET",
      url: '@Url.Action("getData", "Controller")',
      dataType: "html",
      traditional: true,
      data: { values: array},
      success : function (data) {
        $('#placeHolder').html(data);
      }
    });
    

    假设你的控制器方法是

    public ActionResult getData(string[] values)
    {
      // return some partial view based on values
    }
    

    【讨论】:

    • 刚刚测试过,它工作正常——关键是使用traditional: true,因为它是一个数组。建议你在控制台查看array的值。
    • 您错过了一个右括号。 var array = []; $('input:checked').each(function() { array.push($(this).val()); })
    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 2019-01-15
    • 2017-10-07
    相关资源
    最近更新 更多