0

我有一个模型有两个虚拟属性,即

公共虚拟 IEnumerable MediumIds { get; 放; }
公共虚拟 IEnumerable AnsLanguageIds { 获取;放; }

我已经使用 ViewBag 来填充它们,即

ViewBag.MediumIds = db.ExamMediums.Where(x => x.ExamId == _ExamId).Select(x => x.Medium); ViewBag.AnsLanguageIds = new SelectList(db.AnswerLanguages.ToList(), "AnswerLanguageId", "AnsLanguage");

我的观点是

@foreach(ViewBag.MediumIds 中的变量项){

               <input id="MediumIds" name="MediumIds" value="@item.MediumId" type="checkbox"  /><strong>
                            @item.Medium1 </strong>

                        @Html.DropDownList("AnsLanguageIds")
                        <br />
                    }

我想要选择复选框时的功能,而不仅仅是启用下拉菜单,否则它应该被禁用,而且我想要选择哪种语言的媒体

您的回答将不胜感激。

4

1 回答 1

0

您可以通过new { disabled = "disabled" }作为DropDownList()方法的htmlAttributes参数传递默认禁用下拉列表。选中每个复选框时,此jQuery应切换选择的禁用状态:

$(function() {
    $("input#MediumIds").click(function() {
        var checkbox = $(this);
        var dropDownlist = checkbox.sibling("select:first");
        dropDownlist.attr("disabled", checkbox.is(":checked") ? "" : "disabled");
    });
});

...我不确定您所说的“我想要为哪种媒体选择哪种语言”是什么意思?

于 2012-11-30T15:03:34.857 回答