您會希望將單選按鈕放在label
s並將背景樣式應用於標籤(也可以將樣式添加到單選按鈕本身,但請記住它們的文本是單獨的元素)。不幸的是,由於CSS沒有被討論的:contains
僞類(因爲性能問題),所以你將被迫拋出一些JavaScript。
例(live copy):
CSS:
label.highlight {
background-color: yellow; /* Or whatever, obviously */
}
input[type=radio] {
/* Styles you want applied to the radio buttons when *not* selected */
}
label.highlight input[type=radio] {
/* ...any styles you want applied to the radio button when
it's selected; this is more broadly cross-compatible
than :checked, sadly */
}
HTML:使用
<label><input type='radio' name='foo' value='1'> One</label>
<br><label><input type='radio' name='foo' value='2'> Two</label>
<br><label><input type='radio' name='foo' value='3'> Three</label>
JavaScript的jQuery的:
jQuery(function($) {
$("input:radio").click(function() {
if (this.checked) {
$("label.highlight").removeClass("highlight");
$(this).closest("label").addClass("highlight");
}
});
});
很明顯,你會想縮小日OSE選擇了一下你的實際的標記,如上述的將應用到頁面上的所有單選按鈕...
這由樣式單選按鈕自己的一種方式時,他們沒有一個label
內側highlight
類的工作,當他們是時不同的方式。然後,當單擊單選按鈕時,只需在label
上切換highlight
類,然後CSS負責其餘部分,同時設置label
(獲取背景顏色/圖像)和單選按鈕(如果您想進行復選標記)。
ok ..很好......但我需要顯示如上面的樣式的tickmark和radiobutton框。 –
您應該能夠爲複選標記定義背景圖像並將其適當放置。 – Narnian
實際上,您可能會定義兩個圖像 - 一個用於未選中,一個用於選中。 – Narnian