0

使用单选按钮时,在 IE 8 中避免角落问题的正确用法是什么?例如

我的<p:column id="rad" selectionMode="single" />数据表中有

在 IE 8 中,单选按钮呈现为复选框,位于一个方框中。所以为了解决这个问题,我使用了

<h:outputScript library="primefaces" name="jquery/jquery.js">
$(document).ready(function() {
          $('rad').corner();      
    });
</h:outputScript>

然而这并没有解决问题。

那么为单选按钮设置圆角的正确方法是什么?

谢谢

编辑 1

<h:head>

<style type="text/css">
   <![CDATA[


      .radio input 
{
    position: absolute;
    left: -9999px;
}

.label_radio 
{
    background: url("/radio_labels.jpg") no-repeat scroll 0 0 transparent;
    height: 1em;
    width: 1em;
}

.label_radio.r_on 
{
    background-position: 0 -18px;
}

.radio label 
{
    display: inline;
    padding-bottom: 0.1em;
    padding-right: 1.9em;
}


   ]]>
</style>
</h:head>


<h:outputScript>
    $(document).ready(function() {
    alert("1");
    $('.rad label').addClass('label_radio');
if ($('.rad input').length) {
    $('.rad input').each(function () {
        $(this).next('label').removeClass('r_on');
    });
    $('.rad input:checked').each(function () {
        $(this).next('label').addClass('r_on');
    });
};

    });
</h:outputScript>

和数据表中的单选按钮。

<p:column  id="rad" selectionMode="single"  />
4

1 回答 1

2

这就是我的做法:

CSS:

.radio input 
{
    position: absolute;
    left: -9999px;
}

.label_radio 
{
    background: url("images/buttons/radio_labels.jpg") no-repeat scroll 0 0 transparent;
    height: 1em;
    width: 1em;
}

.label_radio.r_on 
{
    background-position: 0 -18px;
}

.radio label 
{
    display: inline;
    padding-bottom: 0.1em;
    padding-right: 1.9em;
}

jQuery:

$('.address_type label').addClass('label_radio');
if ($('.address_type input').length) {
    $('.address_type input').each(function () {
        $(this).next('label').removeClass('r_on');
    });
    $('.address_type input:checked').each(function () {
        $(this).next('label').addClass('r_on');
    });
};

HTML:

<div class="address_type clear width">
<span class="radio twelvepx">
<input id="rbDelAddr" type="radio" value="0" name="AddrType">
<label class="label_radio" for="rbDelAddr">Delivery Address</label>
</span>
<span class="radio twelvepx">
<input id="rbInvAddr" type="radio" value="-1" name="AddrType">
<label class="label_radio" for="rbInvAddr">Billing Address</label>
</span>
</div>
于 2013-01-07T09:24:37.193 回答