繁体   English   中英

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

[英]Disable/Enable HtmlSelect based on checkbox checked in javascript and asp.net

这是情况。 我有一个htmlselect控件,该控件在加载时需要根据数据库查询中的正确与否进行初始启用或禁用。 然后,我需要用户能够单击复选框以禁用或启用相同的htmlselect控件,而所有控件都无需回发。

这可能吗?

应该是这样的:

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

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

<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>

使用javascript和后台代码,我能够使它正常工作。 谢谢你们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM