[单选按钮]

时间:2011-07-28 11:36:15

标签: jquery radio-button

我正在开发一个基于php的在线测试程序。将有25个随机问题,候选人必须回答20个强制性问题。为了显示候选人是否回答了问题,我想要包含Radio Click事件,以便在单击选项时,该问题的序列号将突出显示。我可以通过以下jquery函数检查和取消选中选项按钮:

$(function(){
    $('input[type="radio"]').mousedown(function() {
        if (this.checked) {
            $(this).mouseup(function(e) {
                var radio = this;
                setTimeout(function() {
                    radio.checked = false; 
                }, 5);

                $(this).unbind('mouseup');       
            });
        }
    });
});

我可以通过以下代码更改问题编号的字体大小:

$(document).ready(function(){
    $('input[type="radio"]').click(function(){
        if (this.checked==true){
            $("#tt_1").css("font-size", "25px");
        }
    });
});

但是,我无法在上述功能中包含ELSE条件,以便在取消选择选项按钮时恢复格式化。

请帮我正确的代码。

非常感谢。

2 个答案:

答案 0 :(得分:0)

使用addClass('your-class'),然后在CSS中定义类,比尝试通过jQuery恢复/删除CSS值要容易得多。

例如:

$(document).ready(function () {
    var radios = $('input[type="radio"]');
    radios.click(function () {
        radios.each(function () {
            if (this.checked==true){
                $("#tt_1").addClass('bigger-font');
            }
            else $("#tt_1").removeClass('bigger-font');
        });

    });
});


<style>
.bigger-font {
    font-size: 25px;
}
</style>

答案 1 :(得分:0)

你可以添加一个onblur事件

http://api.jquery.com/blur/

或者您可以在点击时重置所有字段。 e.g。

$('input[type="radio"]').each(function(){
  // Reset the state
});