JQuery AJAX MVC ||将多选列表框中选定值的逗号分隔列表传递到 Controller 操作中

标签 jquery ajax asp.net-mvc-3

我的 Web 表单中有一个列表框(多选),当表单加载时,该列表框通过 AJAX 从 Web 服务填充。这太棒了!

<select multiple="multiple" size="8" id="categoryFamily" onchange="GetCCRCode()"></select>
<select multiple="multiple" size="8" id="category" onchange="GetCCRCode()"></select>

当选择一个或多个条目时,我执行下面的代码,使用下面的代码将(我认为的)值从上面的列表框中传递到 Controller 的操作中。

function GetCCRCode() {
    $('#ccrCode').html('');
    var catfam = $('#categoryFamily').val();
    var cat = $('#category').val();

    $.ajax({
        type: "POST",
        url: "/Home/LoadCCRCode/",
        data: { 'catfam': catfam, 'cat': cat },
        success: function (results) {
            alert('success');
        },
        error: function () {
            alert('error');
        }
    });
}

Controller 中的操作被调用但是(见下文)

    [AcceptVerbs("POST")]
    public string LoadCCRCode(string catfam, string cat)
    {
        return string.Empty;
    }

但是我遇到的问题是传入的输入参数为空。因此,我将以下代码行添加到 GetCCRCode() JavaScript 方法中。

alert(catFam);

结果是一个警报框,显示了一个逗号分隔的列表,正如我所期望的那样,但仍然传递了一个空值。

有什么想法吗?

谢谢!

最佳答案

catfam 和 camfam 存在拼写错误

还将你的js代码更改为:

function GetCCRCode() {
    $('#ccrCode').html('');
    var catfam = $('#categoryFamily').val();
    var cat = $('#category').val();

    $.ajax({
        type: "POST",
        url: "/Home/LoadCCRCode/",
        data: { catfam: catfam.ToString(), cat: cat.ToString() },
        success: function (results) {
            alert('success');
        },
        error: function () {
            alert('error');
        }
    });
}

注意我删除了 json 数据中的单引号..

关于JQuery AJAX MVC ||将多选列表框中选定值的逗号分隔列表传递到 Controller 操作中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7044866/

相关文章:

javascript - 格式化表头和表体

javascript - 等待 jQuery AJAX 调用完成

c# - 在 Controller 的构造函数之外使用依赖注入(inject)

asp.net-mvc-3 - Ninject - 找不到资源

jquery - Knockout.js:ko.toJSON 不会将 viewmodel 转换为 JSON

javascript - 在标签页中显示加载 div 内容

javascript - Highcharts 图例标记和不同尺寸的系列标记

javascript - 如何将错误从 $.ajax 实例冒泡到 $.ajaxSetup?

ajax - AjaxFormComponentUpdatingBehavior 和表单提交的不同验证器集

asp.net-mvc-3 - .net MVC 3.0 带进度条的文件上传