如何在.net mvc中的表单加载上将选定值设置为多选下拉列表

时间:2014-08-05 11:44:49

标签: asp.net-mvc html.dropdownlistfor

我正在使用特定条目的多选下拉列表,该条目从表中检索。如果我正在尝试编辑此条目,则不会显示所选的下拉列表。

这是我的剧本。

<script type="text/javascript">
    $(document).ready(function () {
        //$('#Supplier').click(function () {
        var sku = $("#SKU").val();
        alert(sku);
        //var pay = null;
        //alert(suppid);
        $.ajax({
            url: '/SKUMasterSetup/supplierlist',
            type: 'POST',
            dataType: 'json',
            data: { id: sku },
            success: function (Supplierdata) {
                alert("hi");
                alert(Supplierdata);
                var x = Supplierdata.length();
                alert(x);
                //<option value="{$T.data.Value}">{$T.data.Text}</option>   
                //for (var i = 0; i < Supplierdata.length; i++) {
                //    $("#supplier").append("Selected", Supplierdata[i], "selected").attr('selected', true);

                for (var i in Supplierdata) {
                    var optionVal = Supplierdata[i];
                    $("#supplier").find("option[value=" + optionVal + "]").prop("selected", "selected");
                }

                // $('.class1').append("<option>" + "Please select" + "</option>");

            },
            //error : function (Supplier) { alert("Error !"); };
        });
    });
</script>

我的控制器代码是:

[HttpPost]
public JsonResult supplierlist(int id)
{
   var Supplierdata = (from item in db.SupplierSKUMaps
      where item.SKU == id
      select item.SupplierMaster.SupplierName).ToList();
      return Json(Supplierdata, JsonRequestBehavior.AllowGet);
}

我的下拉列表是:

@Html.DropDownList("Supplier", ViewBag.Supplier as MultiSelectList, new { @class = "chosen", @id="supplier", @multiple = "multiple" })

1 个答案:

答案 0 :(得分:0)

您始终可以使用@Value = @Html.Action(getMyFields)并在控制器中放置一个返回Content result(MyData.ToList())的操作方法。

有关创建下拉菜单的更多信息,请访问:http://odetocode.com/blogs/scott/archive/2013/03/11/dropdownlistfor-with-asp-net-mvc.aspx