我想让单选按钮消失,而不是按钮,单选按钮的标签本身是可单击的,并且我将更改所选单选按钮的背景颜色。我该怎么做呢?例如,我有“是”和“否”标签,这些标签将是可点击的,并且根本没有单选按钮。这些只会改变背景的颜色,但会显示不需要的单选按钮。
Javascript
$(document).ready(function(){
var ok = "green";
var notok = "red";
$.each($(":radio"), function(){
if($(this).prop("checked") == false)
{
$(this).parent().css("background", notok);
}
else
{
$(this).parent().css("background", ok );
}
})
$(":radio").click(function(){
$("[name='"+$(this).prop("name")+"']").parent().css("background", notok);
$(this).parent().css("background", ok );
})
})HTML
<FORM name="form1">
<div>
<input type="radio" id="yes" name="q"checked="checked"/> Yes
</div>
<div>
<input type="radio" id="no" name="q"/>No
</div>
</FORM>谢谢
发布于 2012-06-16 02:28:18
如果我明白你在问什么,我会隐藏单选按钮,然后在改变了背景颜色的标签上附加一个点击处理程序:
$('label').click(function () {
$('label').removeClass('selected');
$(this).addClass('selected');
}); 这是一个演示的jsfiddle。
简而言之,当单击标签时,从所有相关标签中删除控制背景颜色的“选定”类,并将其应用于所单击的标签。
发布于 2012-06-16 02:06:00
这一条看起来很简单。如果你只是使用“标签”标签,它将是可点击的。然后,您可以简单地隐藏该单选按钮。
<input id="yes" type="radio" name="q" value="radiobutton" style="display:none;" />
<label for="yes">Yes </label>
<input id="no" type="radio" name="q" value="radiobutton" style="display:none;" />
<label for="no">No</label>顺便说一句,这是一个工作的JSFiddle:http://jsfiddle.net/scGE9/2/
https://stackoverflow.com/questions/11055910
复制相似问题