kangjacob 2021-08-06 09:53 采纳率: 96.8%
浏览 45
已结题

怎么解决?为什么总是‘您还没有选中其中的一项‘


var theRadioInputs = document.getElementsByName('answer');
        for(let m=0;m<theRadioInputs.length;m++)
        {
            if(theRadioInputs[m].checked){
                alert('has been checked');
                return true;
            }else{
                alert('您还没有选中其中的一项');
                return false;
            }

        }

  • 写回答

7条回答 默认 最新

  • CSDN专家-文盲老顾 2021-08-06 10:31
    关注

    在判断一组单选或多选是否有选中项,不应该像你这样在循环内判断

    应该是在循环外定义一个变量,表示选中或选中项数量

    例如

    let selectedItems = 0;
    for(let m=0;m<theRadioInputs.length;m++)
            {
                if(theRadioInputs[m].checked){
                    selectedItems ++;
                    //alert('has been checked');
                    //return true;
               // }else{
                    //alert('您还没有选中其中的一项');
                    //return false;
                }
     
            }
    if (selectedItems > 0){
        alert('has been checked');
        return true;
    }else{
        alert('您还没有选中其中的一项');
        return false;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 创建了问题 8月6日