MVC ListBox选择项到Jquery Load函数

时间:2013-09-20 17:32:56

标签: jquery asp.net-mvc listbox

我正在尝试从MVC4中的ListBox中检索多个选定的值。使用下面的代码我只能检索第一个值,其余的选定值不会显示在ActionResult函数中。

不确定是什么问题。如果有人可以帮助我会很棒,因为我找不到关于这个特定问题的任何在线帖子。感谢

我有以下html,Jquery和c#代码:

@Html.ListBoxFor(m=>m.id, Model.Codes)

 $("#ListBoxID").change(function () {
            if ($(this).val() != "") {
                $("#div").load('actionfunction', {
                    data: $('#ListBoxID').val(),
                });
            }
 });

public ActionResult actionFunction(string data)
{
         // code here BUT 
}

1 个答案:

答案 0 :(得分:1)

因为你希望你的行动中有一个字符串。字符串化值数组(多选择在执行val()时返回一个数组):

即。尝试

  $("#div").load('actionfunction', {
                data: JSON.stringify($('#ListBoxID').val()),
  });

简化为:

$("#ListBoxID").change(function () {
    var value = $(this).val();
    if (value) {
        $("#div").load('http://www.google.com', {
            data: JSON.stringify(value),
        });
    }
});

如果您希望在操作中使用数组string[] data,则无需进行字符串化。