这是我的HTML:
<div class="sss">
<label class="label_radio" for="radio-01">
<input name="vtip" id="radio-01" value="50" type="radio" />
<img src="http://www.tui-travelcenter.ro/layouts/innobyte/images/radio_50.jpg" width="199" height="241" style="display:block">
</label>
</div>
<div class="ddd">
<label class="label_radio1" for="radio-02">
<input name="vtip" id="radio-02" value="100" type="radio" />
<img src="http://www.tui-travelcenter.ro/layouts/innobyte/images/radio_100.jpg" width="199" height="241" style="display:block">
</label>
</div>
<div class="clear"></div>
这是我的javascript:
$(document).ready(function () {
$('#radio-01').change(function(){
$(".label_radio").css({background: "#fff"});
$(".label_radio1").css({background: "#fff"});
if($(this).is(":checked")) {
$(".label_radio").css({background: "#000"});
} else {
$(".label_radio").css({background: "#f00"}) ;
}
});
$('#radio-02').change(function(){
$(".label_radio").css({background: "#fff"});
$(".label_radio1").css({background: "#fff"});
if($(this).is(":checked")) $(".label_radio1").css({background: "#000"});
else $(".label_radio1").css({background: "#fff"}) ;
});
});
我有两个单选按钮,它们有一个自定义图像。单击时,它们会更改其背景,因此您可以看到它已被选中。(这里是现场直播:tui-travelcenter.ro/concurs_vouchere.php - 2张照片。这在Firefox,Chrome中工作得很好,但在IE中则不行。
若要在 IE 中执行此操作,请在代码中使用 $(".label_radio1").css({'background-color': "#fff"});
而不是$(".label_radio1").css({background: "#fff"});
。
在你打电话给.css(..)
的所有地方都做同样的事情
编辑
在 IE 中,单击事件不会从 img 向上传播到标签,因此它会影响无线电(它是其标签)并触发无线电的更改事件。将此代码添加到 JS 中以强制事件传播。
$('label img').click(function() {
$(this).prev('input').attr('checked', true).change();
return true;
});