javascript - 如何将单选按钮创建为按钮?

标签 javascript html jquery css radio-button

如何创建常规单选按钮以像使用 css 样式的普通按钮一样?

这是我的单选按钮:

<div class="radio-toolbar">

    <input type="radio" id="radio1" name="radios" value="all" checked>
    <label for="radio1">Radio1</label>

    <input type="radio" id="radio2" name="radios"value="false">
    <label for="radio2">Radio2</label>

    <input type="radio" id="radio3" name="radios" value="true">
    <label for="radio3">Radio3</label>
</div>

还有我的 CSS:

.radio-toolbar {width:410px;}

.radio-toolbar input[type="radio"] {
        display:none;
}

.radio-toolbar label {
        display:inline-block;
        background:#FFF;
        font-family:"Arial Black", sans-serif;
        font-size:12px;
        color:#666666;
        width:106px;
        padding-left:4px;
}

.radio-toolbar [type="radio"]:checked + label {
        background:url("../images/radiochecked.png") no-repeat;
        color:#FFF;
}
.radio1 [type="radio"]:checked + label {
        background:url("../images/radio1.png") no-repeat;
        color:#FFF;
}
.radio2 input[type="radio"]:checked + label {
        background:url("../images/radio2.png") no-repeat;
        color:#FFF;
}



.radio-toolbar label:hover {background-color:#bbb;
background:url("../images/radiohover.png") no-repeat;
color:#FFF;
}
.radio2 label:hover {background-color:#bbb;
}

最佳答案

它涉及隐藏单选按钮元素并放入不同的元素(在运行时,以保持与不支持 JS 的浏览器的向后兼容性),然后将对新元素的更改回显到隐藏单选按钮的状态。

由于您已经在使用 jQuery,因此您可能会考虑 jQuery UI,它具有 exactly this functionality .

关于javascript - 如何将单选按钮创建为按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5103963/

相关文章:

javascript - 如何使用静音 Prop 取消静音 html5 视频

jquery - 结合 2 个不同的计数代码来创建一个特定的结果

javascript - 函数无法在 JavaScript 中正确执行

JavaScript 函数从字符串创建结构化对象?

javascript - 如何在javascript中找到最大数字?

javascript - 当您在已加载脚本标签或 jquery getScript 时调用它时,它是否会双重加载?

javascript - 将点击监听器附加到类以切换所有子级的可见性

Javascript 表单清理

css - chrome 和 firefox 之间的 div 大小不一致

html - 阻止 :hover 上的 CSS "bounce"