我想让单选按钮消失而不是按钮,单选按钮的标签本身可以点击,我将更改所选收音机的背景颜色。我怎样才能做到这一点?例如,我有“是”和“否”标签,这些标签可以点击,根本就没有单选按钮。这些仅改变背景颜色,但显示不需要的单选按钮。
的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>
由于
答案 0 :(得分:2)
这个实际上看起来很容易。如果您只使用“标签”标签,它将是可点击的。然后你可以简单地隐藏单选按钮。
<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/
答案 1 :(得分:1)
如果我理解你的要求,我会隐藏单选按钮,然后将单击处理程序附加到更改背景颜色的标签上:
$('label').click(function () {
$('label').removeClass('selected');
$(this).addClass('selected');
});
这是一个jsfiddle来演示。
简而言之,当单击标签时,从所有相关标签中删除控制背景颜色的“选定”类,并将其应用于所单击的标签。