【问题标题】:jQuery: Radio buttons not getting checkedjQuery:未检查单选按钮
【发布时间】:2016-07-26 03:49:11
【问题描述】:

我有一个项目,我正在使用单选按钮选择来更改课程,很简单。

FIDDLE

这是我第一次使用脚本使用单选按钮,所以我无法解决的是为什么单选按钮没有显示为选中/选中,我什至添加了一些 jQuery 来强制它们仍然被“选中”没有运气。

$('input.eaBtn[type="radio"]').click(function (e) {
    e.preventDefault();
    console.log($(this).data('class'))
    $('.eaStaff').removeClass('transBg darkBg lightBg customBg');
    $('.eaStaff').addClass($(this).data('class'));
    $(this).attr('checked', true);
});

【问题讨论】:

    标签: jquery


    【解决方案1】:

    删除e.preventDefault();

    这就是阻止该字段选择此选项的原因。

    之后,你就不再需要这条线了$(this).attr('checked', true);

    jsfiddle

    代码:

    $('input.eaBtn[type="radio"]').click(function (e) {
        //e.preventDefault();
        console.log($(this).data('class'))
        $('.eaStaff').removeClass('transBg darkBg lightBg customBg');
        $('.eaStaff').addClass($(this).data('class'));
        //$(this).attr('checked', true);
    });
    

    【讨论】:

    • 谢谢,小提琴的工作答案获胜,感谢所有其他人的工作答案。
    【解决方案2】:

    试试这个:

    To make it checked
    $('#radioId').attr('checked', true);
    
    To make it unchecked
    $('#radioId').attr('checked', false);
    

    【讨论】:

      【解决方案3】:
      1. 从点击事件中移除e.preventDefault();
      2. 建议使用更改事件
      3. 还可以使用.prop() 代替.attr() 进行检查和取消检查

      【讨论】:

        【解决方案4】:

        从点击事件中移除e.preventDefault();

        【讨论】:

        • 这已经被回答了 2 次了,我怀疑再回答一次会改变一件事.. 只是说
        • 我在你回答之前输入了当我提交时我看到两个答案已经没有错了,你不需要通知,我知道我在做什么@guradio
        猜你喜欢
        • 2019-05-29
        • 2016-08-17
        • 1970-01-01
        • 1970-01-01
        • 2018-08-22
        • 1970-01-01
        • 1970-01-01
        • 2011-04-24
        • 1970-01-01
        相关资源
        最近更新 更多