下拉列表不使用默认选项MVC Razor

时间:2015-06-22 21:41:45

标签: asp.net-mvc razor html.dropdownlistfor

在我看来,我有这个。这会创建大约7个不同的下拉列表,这些列表默认是隐藏的,当您选择第一个下拉列表然后根据您选择的内容时,它将从该选项中获取文本并显示其中一个隐藏的下拉列表。但是它没有采用我指定的默认选项标签(" - 选择一个 - ")是否有任何错误,你可以看到或做它只是似乎无缘无故地打破?

@Html.DropDownListFor(model => model.ProductsID, Model.HowProductsAreUsedOptions, new { @class = "General", id = "General-1" })

@foreach (KeyValuePair<String, List<SelectListItem>> rec in Model.SecondaryOptions)
{
    @Html.DropDownListFor(model => model.ApplicationSecondaryValue, rec.Value, "--Choose One--", new { id = rec.Key.Replace(" ", "").Replace("&", "") + "1"})
}

编辑*这是我的函数,用于处理第二个下拉列表的显示和隐藏

    $('.General').change(function () {
    var ID = $(this).attr('id');
    var selectedValue = $('#' + ID + " option:selected").text().replace(/\&/g, '').replace(/\s/g, '');
    var value = $('#' + ID + " option:selected").val();
    var divID = ID.substr(ID.indexOf("-") + 1);
    if (value != 0) {
        $('#' + selectedValue + divID).show().siblings().hide();
        $('#General-' + divID).show();
    }
    else {
        $('#General-' + divID).siblings().hide().val(0);
    }
});

1 个答案:

答案 0 :(得分:0)

你可以简单地做到这一点:

@Html.DropDownListFor(model => model.product, 
                  new SelectList(Model.ProductList, "productID", "productName"),
                  "---Select A product---")

这会将所选产品绑定到型号产品并最初显示默认值