根据javascript和asp.net中选中的复选框禁用/启用HtmlSelect

时间:2010-11-15 06:45:57

标签: javascript html select checkbox

情况如下。我有一个htmlselect控件,在加载时需要根据数据库查询中的真实与否来初始启用或禁用。然后我需要用户能够单击一个复选框来禁用或启用相同的htmlselect控件,所有没有回发。

这可能吗?

3 个答案:

答案 0 :(得分:2)

应该是这样的:

 <input type="checkbox" onclick="document.getElementById('idOfSelect').disabled=(this.checked)?false:true">

答案 1 :(得分:1)

您必须在运行时动态生成HTML,方法是从服务器代码生成HTML或使用模板。使用上面建议的Dr.Molle代码,并根据数据库查询的结果为enabled的复选框/禁用样式插入SELECT属性:

<INPUT type-"checkbox" checked ...>
<SELECT ...>

如果应该启用或

<INPUT type-"checkbox" ...>
<SELECT disabled ...>

如果不是。

不幸的是,除非使用非常复杂的Web框架,否则无法将HTML生成与基于用户交互的初始状态和动态更改相结合。

将所有内容放在一起,使用常见的模板约定,HTML模板可能如下所示:

<INPUT type="checkbox" ${mySelectIsInitallyEnabled ? "checked" : ""} onclick="document.getElementById('mySelect').disabled=(this.checked)?false:true">
<SELECT id="mySelect" ${mySelectIsInitallyEnabled ? "" : "disabled"}>

    <!-- options ... -->

</SELECT>

答案 2 :(得分:0)

使用javascript和代码隐藏我能够让它工作。谢谢大家