情况如下。我有一个htmlselect控件,在加载时需要根据数据库查询中的真实与否来初始启用或禁用。然后我需要用户能够单击一个复选框来禁用或启用相同的htmlselect控件,所有没有回发。
这可能吗?
答案 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和代码隐藏我能够让它工作。谢谢大家