這是情況。我有一個htmlselect控件,在加載時需要根據數據庫查詢中是否爲真來啓用或禁用。然後,我需要用戶能夠點擊複選框來禁用或啓用相同的htmlselect控件,而不需要回傳。禁用/啓用HtmlSelect基於複選框簽入javascript和asp.net
這可能嗎?
這是情況。我有一個htmlselect控件,在加載時需要根據數據庫查詢中是否爲真來啓用或禁用。然後,我需要用戶能夠點擊複選框來禁用或啓用相同的htmlselect控件,而不需要回傳。禁用/啓用HtmlSelect基於複選框簽入javascript和asp.net
這可能嗎?
使用JavaScript和代碼隱藏我能得到這個工作。謝謝大家
應該是這樣的:
<input type="checkbox" onclick="document.getElementById('idOfSelect').disabled=(this.checked)?false:true">
你必須在運行時,通過從服務器代碼生成,或使用模板,動態生成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>
這是一切都很好,一切,但控制需要禁用或自動啓用屏幕加載取決於來自數據庫查詢 – mattgcon 2010-11-15 07:42:05
來自某個開關我認爲在asp.net應該是可以設置的有一個屬性「禁用」取決於你的條件。 – 2010-11-15 16:14:16