javascript - 至少選擇一個項目?
天蓬老师
天蓬老师 2017-04-10 17:26:41
0
2
388
$("#join").submit(function(e){
var f = document.forms[0];
    for (var i=0;i<f.elements.length;i++) 
    {  
        var ee = f.elements[i]; 
        if (ee.type == "checkbox" && ee.checked)
        {
            //成功
        }
        else
        {
            alert('error');
            return false;
        }
    } 
}); 

我這樣寫無法成功
怎麼樣都是error (至少選擇一項)
想請問是哪裡錯誤?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(2)
Peter_Zhu

如果你是想循环检查所有 checkbox,只要有一项选中就 OK,那么你至少应该在所有循环完了之后才知道是否有找到,而不是在每一个循环里去判断失败。

function check() {
    for (...) {
        if (somechecked) {
            return "OK"            
        }
    }
    
    return "error";
}

如果不单独写 fucntion 一般会这么写

var found = false;
for (....) {
    if (somechecked) {
        found = true;
        break;
    }
}
if (found) {
    alert("ok");
} else {
    alert("error");
}
大家讲道理

你的方法是没错的,可是还差一点就是在判断有选中执行完选中的代码后要跳出循环!!!否则它会继续执行for循环所以会弹出error

if (ee.type == "checkbox" && ee.checked)
        {
            //成功
            
            return;//跳出循环
        }

demo

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!