Javascript 如果未选中,请更改单选按钮的背景色

Javascript 如果未选中,请更改单选按钮的背景色,javascript,jquery,validation,radio-button,Javascript,Jquery,Validation,Radio Button,一旦用户在未选中所有单选按钮的情况下提交,未回答的按钮应以与选中按钮不同的背景色显示。我试图实现这一点的方式是: 创建一个空数组-“存储” 在每个单选按钮上循环,如果项目已被选中,则按数组“store”中的数字1(true),否则按0(false) 然后我想循环这个数组,并为那些在“store”中值为零的项添加一个类 $(文档).ready(函数(){ $('#form')。提交(函数(){ var isValid=true; var store=新数组(); $(“输入:收音机”)。每个(函数

一旦用户在未选中所有单选按钮的情况下提交,未回答的按钮应以与选中按钮不同的背景色显示。我试图实现这一点的方式是:

  • 创建一个空数组-“存储”
  • 在每个单选按钮上循环,如果项目已被选中,则按数组“store”中的数字1(true),否则按0(false)
  • 然后我想循环这个数组,并为那些在“store”中值为零的项添加一个类

    $(文档).ready(函数(){
    $('#form')。提交(函数(){
    var isValid=true;
    var store=新数组();
    $(“输入:收音机”)。每个(函数(){
    if($(this).prop('checked',true)){
    store.push(1);}
    否则{
    存储推送(0);
    isValid=false;}
    })//每个
    如果(!isValid){
    对于(变量i=0;i
  • 我做错了什么

    我的小提琴:


    我想你可以简化一下:


    这是一个有趣的测试,将类添加到元素中,看看单选按钮是否可以这样设计->一旦运行了测试,就可以看到不能像那样将背景色应用于单选输入,或者将每个单选输入包装在div中,或者为单选输入创建标签并对其应用类。错误#1就在你的掌握之中。表单具有wring ID
    ID=“#form”
    。应该是
    id=“form”
    我完全忘了检查收音机是否有这种风格。谢谢你指出这一点,我明白了,它应该说
    prop('checked')
    $(document).ready(function(){
        $('#form').submit(function(){
            var isValid = true; 
            var store = new Array();
            $("input:radio").each(function() {
                if($(this).prop('checked',true)){
                    store.push(1);}
                else{
                    store.push(0);
                    isValid = false;}           
            }); //.each
                if(!isValid){
                    for(var i=0;i < store.length;i++){
                        if(store[i]===0){
                            $('input[name=item' + i +']').addClass("not_answered");}
                        }//end of for-loop
                    return false;}
                else{
                    return true;}
    
        }); //submit
    });//document ready
    
    $('form').on('submit', function(e){
       var radios = $(this).find('input:radio').removeClass('notChecked');
       radios.filter(':not(:checked)').addClass('notChecked');
       if(radios.hasClass('notChecked')) return false;
    });