2015-04-06 161 views
0

使用jquery mobile。jquery移動複選框樣式問題

嘗試使禁用複選框可見。高度/寬度可以被覆蓋。

<div class=" ui-checkbox ui-state-disabled"> 
<input type="checkbox" name="foo" checked="checked" disabled="disabled"> 
</div> 

爲什麼位置是!重要的,它不能被覆蓋。因此,它在不同情況下不能很好地與相鄰元素保持一致。

.ui-checkbox input:disabled, .ui-radio input:disabled { 
    position: absolute !important; 
    height: 1px; 
    width: 1px; 
    overflow: hidden; 
    clip: rect(1px,1px,1px,1px); 
} 

感謝您的建議。

+0

我可以使用樣式覆蓋的位置,但它不是首選方式做。試着瞭解爲什麼jquery mobile想讓它看不見。謝謝。 – eastwater

回答

0

要使用jQM樣式,請將複選框放在LABEL中(不管您是否有文本)。然後,當小部件被增強時,如果它被禁用,則使用不透明度來調暗複選框。

<label> 
    <input type="checkbox" name="foo" checked="checked" disabled="disabled" /> Check me    
</label>     
<label> 
    <input type="checkbox" name="bar" checked="checked" disabled="disabled" />     
</label>   

jQM實際上隱藏了INPUT元素並將標籤樣式設置爲複選框。

如果在另一方面,你要JQM離開復選框無樣式,添加數據角色=「無」:

<input type="checkbox" name="bar" checked="checked" disabled="disabled" data-role="none" />