简体   繁体   English

复选框循环上的JavaScript警报

[英]JavaScript Alert on Check-box Loop

I have a problem in my code. 我的代码有问题。

I want to write a code of java alert while checkbox is not checked. 我想在未选中复选框的情况下编写Java Alert的代码。

I have a loop of checkboxes 我有一个循环的复选框

here is code 这是代码

 <?php 
 for ($i=0; $i<count($chk); $i++) {

 echo "<input type='checkbox' name='pr' value=''/>".$chk[$i];
 echo "</br>";

 }
?>

and here is JavaScript 这是JavaScript

<script>

var tags = document.getElementsByName('pr'),
    value = '', i = 0;

for( ; i < pr.length; i++ )
{
    if( pr[i].checked=='' ) {

alert("Please Check All Checkboxes");
    }
}
    </script>

I want that the checkbox which are echo from loop is all checked then is proceed it to next page. 我希望所有从循环回显的复选框都被选中,然后进入下一页。 If anyone checkbox is not checked it show an alert message 如果未选中任何人复选框,则会显示一条警告消息

Problem: If i am not checked anyone checkbox it proceed, and i want it would not proceed if anyone checkbox is not checked 问题:如果未选中任何人复选框,则继续,如果不选中任何人复选框,我希望它不会继续

var allAreChecked = true;
for( ; i < pr.length; i++ )
{
    if( pr[i].checked=='' ) {

        allAreChecked = false;
    }
}
if (!allAreChecked) {
    alert("Please Check All Checkboxes");
}

Or, 要么,

var allAreChecked = true;
for( ; i < pr.length; i++ )
{
    if( pr[i].checked=='' ) {

        alert("Please Check All Checkboxes");
        break;
    }
}

Or, more concisely, and legibly: 或者,更简洁明了:

function checked(element) {
    return element.prop('checked');
}
if (!Array.prototype.every(tags, checked)) {
    alert("Please Check All Checkboxes");
}

EDIT: proof it works: 编辑:证明它有效:

 document.getElementById('test').addEventListener('click', function() { var pr = document.getElementsByName('pr'), i = 0; var allAreChecked = true; for( ; i < pr.length; i++ ) { if( pr[i].checked=='' ) { allAreChecked = false; } } if (!allAreChecked) { alert("Please Check All Checkboxes"); } else { alert("All OK"); } }); 
 <input type='checkbox' name='pr' value=''/> <input type='checkbox' name='pr' value=''/> <input type='checkbox' name='pr' value=''/> <button id="test">Test</button> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM