如何设置输入类型=收音机?

时间:2015-02-11 14:11:37

标签: javascript jquery html css forms

我想用自定义背景/图像替换默认输入比例选择按钮。当选择其中一个输入时,还要添加自定义图像。 enter image description here

<div class="form-item">
    <label for="right-gender">
        Gender
        <span class="form-required" title="This field is required.">*</span>
    </label>
    <div id="right-gender" class="form-radios">
        <div class="form-item form-type-radio">
            <input id="right-gender-1" class="form-radio" type="radio" value="male" name="submitted[right][gender]">
            <label class="option" for="right-gender-1">Male </label>
        </div>
        <div class="form-item form-type-radio">
            <input id="right-gender-2" class="form-radio" type="radio" value="female" name="submitted[right][gender]">
            <label class="option" for="right-gender-2">Female </label>
        </div>
    </div>
</div>

http://jsfiddle.net/L0f8ftdn/

2 个答案:

答案 0 :(得分:1)

你需要用两个不同的图像制作一个精灵。选中一个并取消选中。

然后是CSS

input.form-radio{
 display:none;
}
input.form-radio+label{
 position:relative;
 cursor:pointer;
 padding-left:20px; /* need to be greater then the image width */
}
input.form-radio+label:after{
 position:absolute;
 content:" ";
 top:0; 
 left: 0px;
 width: 15px;/*adjust the width of the image */
 height: 15px; /*adjust the height of the image */
background:url(../images/checkbox.png);
background-repeat:no-repeat;
background-position:bottom left;

}
input.form-radio:checked+label:after{
 background:url(../images/checkbox.png);
 background-position:top left;
}

这是我最近的项目。希望这会有所帮助。

答案 1 :(得分:0)

非常简单的使用jQuery。从你的问题中取出你的小提琴:http://jsfiddle.net/L0f8ftdn/1/

$('.radiooption').on('click', function() {
    $('.radiooption').removeClass('checked'); // Make all "unchecked"
    $(this).addClass('checked'); // Make this one "checked"
    $(this).prev('input').prop('checked', true); // Make the matching radio checked
});

在您的情况下,.radiooption会有图像背景,然后您可以使用CSS隐藏输入。

哦,对未来有用的一点:如果你想让别人帮助你,不要成为屁股而不是懒惰。