Javascript 使用Jquery填充列表框并在提交时使用模型传递值 没有向我的列表框添加任何内容 一旦我将这些项目添加到列表框中,如何在提交时将其与模型一起传递

Javascript 使用Jquery填充列表框并在提交时使用模型传递值 没有向我的列表框添加任何内容 一旦我将这些项目添加到列表框中,如何在提交时将其与模型一起传递,javascript,c#,jquery,Javascript,C#,Jquery,当我使用警报进行测试时,来自控制器的值正在通过。没有将这些值传递到我的列表框中,我遗漏了什么 视图: @Label(“Items”,新的{@class=“control Label”}) @*@Html.ListBoxFor(x=>x.SelectedAccountItems,Model.UserItems,新的{@class=“form control”,@id=“ddlistaccountitems”,@multiple=“multiple”})*@ @Html.ListBox(“Item

当我使用警报进行测试时,来自控制器的值正在通过。没有将这些值传递到我的列表框中,我遗漏了什么

视图:


@Label(“Items”,新的{@class=“control Label”})
@*@Html.ListBoxFor(x=>x.SelectedAccountItems,Model.UserItems,新的{@class=“form control”,@id=“ddlistaccountitems”,@multiple=“multiple”})*@
@Html.ListBox(“ItemsDDL”、new SelectList(new[]{”“})、new{@class=“form control”、@id=“ddlistaccountitems”、@multiple=“multiple”})
JQUERY:

$("#ddlistcategory").change(function () {
        var catItem = $("#ddlistcategory").val();

        $("#ddlistaccountitems").empty();
        $.ajax({
                url: '@Url.Action("GetCategories", "Account")',
                dataType: "json",
                type: "Post",
                data: { "i": catItem },
                success: function (data) {

                    $.each(data, function (key, val) {
                        //alert(key + " " + val);
                        $("#ddlistaccountitems").append('<option id="5">5</option>');
                    })
                }
            });
        });
$("#ddlistcategory").change(function () {
        var catItem = $("#ddlistcategory").val();

        $("#ItemsDDL").empty();
        $.ajax({
                url: '@Url.Action("GetCategories", "Account")',
                dataType: "json",
                type: "Post",
                data: { "i": catItem },
                success: function (data) {

                    $.each(data, function (key, val) {
                        //alert(key + " " + val);
                        $("#ddlistaccountitems").append('<option id="' + key + '">' + val + '</option>');
                    })
                }
            });
        });
$(“#ddlistcategory”).change(函数(){
var catItem=$(“#ddlistcategory”).val();
$(“#ddlistaccountitems”).empty();
$.ajax({
url:'@url.Action(“GetCategories”、“Account”),
数据类型:“json”,
类型:“Post”,
数据:{“i”:catItem},
成功:功能(数据){
$。每个(数据、函数(键、值){
//警报(按键+“”+val);
$(“#ddlistaccountitems”).append('5');
})
}
});
});
控制器:

public JsonResult GetCategories(string i)
        {
            Dictionary<string, string> lstCategories = new Dictionary<string, string>();
            lstCategories.Add("1", "Beverages");
            lstCategories.Add("2", "Condiments");
            lstCategories.Add("3", "Confections");
            lstCategories.Add("4", "Dairy Products");
            lstCategories.Add("5", "Grains/Cereals");
            lstCategories.Add("6", "Meat/Poultry");
            lstCategories.Add("7", "Produce");
            lstCategories.Add("8", "Seafood");
            return Json(lstCategories, JsonRequestBehavior.AllowGet);
        }
publicjsonresult GetCategories(字符串i)
{
Dictionary lstCategories=新字典();
1.添加(“1”、“饮料”);
添加(“2”、“调味品”);
1.添加(“3”、“糖果”);
添加(“4”、“乳制品”);
添加(“5”、“谷物/谷物”);
添加(“6”、“肉/家禽”);
添加(“7”、“生产”);
添加(“8”、“海鲜”);
返回Json(lstCategories,JsonRequestBehavior.AllowGet);
}

非常典型-经过数小时的挣扎后,我终于找到了解决方案

我的问题是,我的列表框实际上被称为ItemsDDL,因此@id=“ddlistaccountitems”无法识别

因此,我也想出了如何将这些值传递给我的模型:

视图:


@Label(“Items”,新的{@class=“control Label”})
@Html.ListBoxFor(x=>x.SelectedAccountItems,Model.UserItems,新的{@class=“form control”,@id=“ddlistaccountitems”,@multiple=“multiple”})
JQUERY:

$("#ddlistcategory").change(function () {
        var catItem = $("#ddlistcategory").val();

        $("#ddlistaccountitems").empty();
        $.ajax({
                url: '@Url.Action("GetCategories", "Account")',
                dataType: "json",
                type: "Post",
                data: { "i": catItem },
                success: function (data) {

                    $.each(data, function (key, val) {
                        //alert(key + " " + val);
                        $("#ddlistaccountitems").append('<option id="5">5</option>');
                    })
                }
            });
        });
$("#ddlistcategory").change(function () {
        var catItem = $("#ddlistcategory").val();

        $("#ItemsDDL").empty();
        $.ajax({
                url: '@Url.Action("GetCategories", "Account")',
                dataType: "json",
                type: "Post",
                data: { "i": catItem },
                success: function (data) {

                    $.each(data, function (key, val) {
                        //alert(key + " " + val);
                        $("#ddlistaccountitems").append('<option id="' + key + '">' + val + '</option>');
                    })
                }
            });
        });
$(“#ddlistcategory”).change(函数(){
var catItem=$(“#ddlistcategory”).val();
$(“#ItemsDDL”).empty();
$.ajax({
url:'@url.Action(“GetCategories”、“Account”),
数据类型:“json”,
类型:“Post”,
数据:{“i”:catItem},
成功:功能(数据){
$。每个(数据、函数(键、值){
//警报(按键+“”+val);
$(“#ddlistaccountitems”)。追加(“”+val+“”);
})
}
});
});