我想改變網格中禁用的複選框的CSS(他們太難以查看用戶)。什麼是簡單的方法來做到這一點?如何爲禁用的複選框設置CSS?
我在使用的技術(按降序排列)的偏好:
CSS
的JavaScript
jQuery的
其他
我想改變網格中禁用的複選框的CSS(他們太難以查看用戶)。什麼是簡單的方法來做到這一點?如何爲禁用的複選框設置CSS?
我在使用的技術(按降序排列)的偏好:
CSS
的JavaScript
jQuery的
其他
我建議改變背景的顏色(background-color
的形式/ fieldset),看看你能否想出一個更好的對比。如果你只是想改變殘疾(?非選擇)複選框的顏色,你可以嘗試:
input[disabled] {
...
/* CSS here */
...
}
但如果他們是殘疾人的一個原因,當然,他們並不需要是顯着的可視?他們灰色化的目的當然是爲了避免主動/啓用和不活動/禁用表單元素之間的混淆?
因爲我們的用戶羣正在使用IE,所以我們無法在CSS中這樣做。但是,我們在.NET中的複選框控件上以編程方式執行了此操作。 – 2009-12-04 22:01:57
@Even Mien:如果你說過你是如何做到這一點的話,那就好了,也就是說你設置了什麼屬性。 – 2010-11-17 09:40:18
@Christopher在ASP.Net代碼的下面看到我的答案。 – David 2011-04-09 00:55:55
伊夫曾與幾個JS庫好運做的工作。當然,我的要求是使框與標準複選框看起來非常不同。以下庫甚至可以兼容508。
基本上,你需要在DIV,P,或用於網格中的任何其他元件連接onclick事件,然後將選中的值轉移到與那場在網格有關的隱藏元素。這是非常微不足道的,如果使用javascript - 檢查jquery添加onclick事件的任何元素。如果點擊,則爲隱藏元素設置值= 1。
input:disabled {}
適用於除瀏覽器外的所有瀏覽器,IE瀏覽器。對於IE,我想你必須使用一些JS庫。
保持該複選框處於啓用狀態,但將onfocus=this.blur()
添加到複選框,以免它被點擊。
或者如果使用ASP.net(如您在您的評論說)保持複選框設置爲啓用,並添加以下到Page.Load事件:
CheckBox1.Attributes.Add("onclick", "return false;");
如果你有一個混合形式啓用和禁用複選框,禁用複選框淡出可避免用戶混淆。如果打算顯示帶有複選框的僅供查看的頁面(例如顯示在購物收據上選擇的產品選項),那麼使用圖像替換複選框輸入元素可能會產生更好的結果。
更換
<input type="checkbox" disabled>
<input type="checkbox" disabled checked>
與
<img src="unchecked.gif">
<img src="checked.gif">
實際上有點CSS3,你可以嘲笑了一個非常簡單的解決方案。 你將永遠不得不考慮你想提供什麼樣的支持。 但是,如果你在現代瀏覽器上工作的很好,那就試試吧。
這裏的HTML
<label>
<input type="checkbox" name="test" />
<span>I accept terms and cons</span><br><br>
<button>Great!</button>
</label>
這裏的CSS
button { display: none}
:checked ~ button {
font-style: italic;
color: green;
display: inherit;
}
請更多的描述,你需要JavaScript的解決方案的演示? – dusoft 2009-07-30 14:28:49