Php 在foreach循环中全部选中/全部取消选中

Php 在foreach循环中全部选中/全部取消选中,php,javascript,Php,Javascript,请看一下这个代码。我如何实现这一点 <input name="PO_PowerWindows[]" type="checkbox" id="PO_PowerWindows" value="<?php echo $option->id; ?>" checked="checked"/> 最近我就这样做了- <script type="text/javascript"> function CheckPowerAll() { if (documen

请看一下这个代码。我如何实现这一点

<input name="PO_PowerWindows[]" type="checkbox" id="PO_PowerWindows" value="<?php echo  $option->id; ?>" checked="checked"/>

最近我就这样做了-

<script type="text/javascript">
function CheckPowerAll() {
    if (document.getElementById("PO_ALL").checked == true) {

        document.getElementById("PO_PowerSteering").checked = true;
        document.getElementById("PO_PowerMirrors").checked = true;
    } else {

        document.getElementById("PO_PowerSteering").checked = false;
        document.getElementById("PO_PowerMirrors").checked = false;
    }
}
</script>

<tr>
  <td><input name="PO_ALL" type="checkbox" id="PO_ALL" value="checkbox" onclick="CheckPowerAll()" />
Select all <span class="bold">Power Options</span> </td>
   </tr>
 <tr>
<td><table width="85%" border="0" cellspacing="0" cellpadding="0">
 <tr>
<td class="box2">

   <input name="PO_PowerSteering" type="checkbox" id="PO_PowerSteering" value="Power Steering" />
Power Steering<br />
   <input name="PO_PowerMirrors" type="checkbox" id="PO_PowerMirrors" value="Power Mirrors" />
Power Mirrors <br /></td>
  </tr>
</table></td>
  </tr>
<tr>

函数CheckPowerAll(){
if(document.getElementById(“PO_ALL”).checked==true){
document.getElementById(“PO_动力转向”).checked=true;
document.getElementById(“PO_PowerMirrors”).checked=true;
}否则{
document.getElementById(“PO_动力转向”).checked=false;
document.getElementById(“PO_PowerMirrors”).checked=false;
}
}
选择所有电源选项
动力转向
电动后视镜
但是现在我需要从DB中填充值

<input name="PO_ALL" type="checkbox" id="PO_ALL" value="checkbox" onclick="CheckPowerAll()" />
Select all <span class="bold">Power Options</span> </td>
   </tr>
 <tr>
<td><table width="85%" border="0" cellspacing="0" cellpadding="0">
 <tr>
<td class="box2">

<?php 

$query = mysql_query("SELECT * FROM vehicle_poweroptions"); 
    while ( $results[] = mysql_fetch_object ($query));
      array_pop ( $results );
        foreach ( $results as $option ) : ?>

<input name="PO_PowerWindows" type="checkbox" id="PO_PowerWindows" value="<?php echo  $option->id; ?>" />

<?php echo  $option->type; ?><br />

<?php endforeach; ?> 

选择所有电源选项
只需添加

array_pop ( $results ); ?>
  <input name="PO_ALL" type="checkbox" id="PO_ALL" value="checkbox" onclick="CheckPowerAll()" />
<?php    foreach ( $results as $option ) : ?>
array_pop($results);?>

不能有多个ID相同的元素。必须更改
foreach
循环。 我已经完全删除了
id
属性。我将使用
name
属性:

<?php foreach ( $results as $option ) : ?>
    <input
        name="PO_PowerWindows"
        type="checkbox"
        value="<?php echo  $option->id; ?>"
    />
<?php endforeach; ?> 
你的函数是这样的:

function CheckPowerAll() {
    var elements = document.getElementsByName("PO_PowerWindows");
    var l = elements.length;

    if (document.getElementById("PO_ALL").checked) {
        for (var i = 0; i < l; i++) {
            elements[i].checked = true;
        }
    } else {
        for (var i = 0; i < l; i++) {
            elements[i].checked = false;
        }
    }
}
函数CheckPowerAll(){
var elements=document.getElementsByName(“PO_PowerWindows”);
var l=元素长度;
if(document.getElementById(“PO_ALL”).选中){
对于(变量i=0;i
与您的答案无关,但此
name=“PO_PowerWindows”
应该是
name=“PO_PowerWindows[]”
检查此链接@ThomasTkr不客气,我还更改了一点我的函数,使其与旧版本的IE兼容
;)
function CheckPowerAll() {
    var elements = document.getElementsByName("PO_PowerWindows");
    var l = elements.length;

    if (document.getElementById("PO_ALL").checked) {
        for (var i = 0; i < l; i++) {
            elements[i].checked = true;
        }
    } else {
        for (var i = 0; i < l; i++) {
            elements[i].checked = false;
        }
    }
}