我正在工作时显示选中复选框的下拉值。但是使用下面的代码,下拉列表中存在的所有不同项目都将直接显示。
不知怎的,@ Html.DropDownListFor在select标签内部无法正常工作,有人可以帮我解决一下吗?
注意:复选框切换功能完美。
谢谢,
<input type="checkbox" />
<p>check this box to escalate</p>
<select disabled="disabled">
@Html.DropDownListFor(
model => model.EscalationQueue,
new SelectList(Extensions.EscalationQueue, Model.EscalationQueue),
new { @class = "escalation-queue", name = Model.EscalationQueue }
)
</select>
var dropdownToggle = function () {
$("input:checkbox").change(function () {
if ($("input:checkbox").is(":checked")) {
$("select").removeAttr("disabled");
}
else {
$("select").attr("disabled", "disabled");
}
});
}
$(document).ready(function () {
dropdownToggle();
});
输出:
答案 0 :(得分:4)
您不需要<select>
标记,HtmlHelper
DropDownListFor
会为您呈现该标记。
如果要将下拉列表初始化为已禁用,请像设置cssclass一样设置html属性...
<input type="checkbox" />
<p>check this box to escalate</p>
@Html.DropDownListFor(
model => model.EscalationQueue,
new SelectList(Extensions.EscalationQueue, Model.EscalationQueue),
new { @class = "escalation-queue",
name = Model.EscalationQueue,
disabled= "disabled"
}
)