javascript - 切换 PHP 表上的复选框

标签 javascript php html checkbox

我有一个表格,表格标题中有一个复选框,用于切换其下方的所有复选框。我已将一个 JavaScript 函数添加到 header 中的复选框,但到目前为止它只选择顶部的复选框(一个复选框)而不是所有复选框。关于我做错了什么或要研究什么的任何建议或意见?

HTML 表格标题代码:

<thead>
  <tr>
    <th><center><input type="checkbox" value="" id="cbgroup1_master" onchange="togglecheckboxes(this,'cbgroup1')"></center></th>
    <th>Sender</th>
    <th>Receiver</th>
    <th>Subject</th>
    <th>Date</th>
  </tr>
</thead>

PHP 表格代码:

$table .= '
          <tr>
            <td><center><input type="checkbox" id="cb1_1" class="cbgroup1"></center></td>
            <td><a href="pm_message.php?u='.$log_username.'&pmid='.$pmid.'" onclick="markRead(\''.$pmid.'\',\''.$sender.'\')">'.$sender.'</a></td>
            <td>'.$receiver.'</td>
            <td>'.$subject.'</td>
            <td>'.$time.'</td>
          </tr>';

Javascript 代码:

function togglecheckboxes(master,cn){
    var cbarray = document.getElementsByClassName(cn);
    for(var i = 0; i < cbarray.length; i++){
        var cb = document.getElementById(cbarray[i].id);
        cb.checked = master.checked;
    }
}

最佳答案

问题是您为所有复选框设置相同的 ID (cb1_1)(这在 HTML 中无效)ID 在页面中应该是唯一的。因此,它只选择第一个找到的复选框并丢弃其余的。要解决此问题,请为复选框提供唯一 ID。

$table .= '
          <tr>
            <td><center><input type="checkbox" id="cb1_'.$pmid.'" class="cbgroup1"></center></td>
            <td><a href="pm_message.php?u='.$log_username.'&pmid='.$pmid.'" onclick="markRead(\''.$pmid.'\',\''.$sender.'\')">'.$sender.'</a></td>
            <td>'.$receiver.'</td>
            <td>'.$subject.'</td>
            <td>'.$time.'</td>
          </tr>';

注意:我只是以 $pmid 为例,你应该根据你的场景使用适当的值

关于javascript - 切换 PHP 表上的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39637510/

相关文章:

javascript - Mongodb 字符串匹配正则表达式

javascript - 如何扭曲一组随机数的分布?

php - Mongodb php查询,在数组中搜索?

php - magento 中的产品名称限制

javascript - 将JS字符串制作成.html下载链接

javascript - JQUERY 向导步骤插件 : How to dynamically adjust the height of the content for each Step?

javascript - JSON.stringify 和 "\u2028\u2029"检查?

javascript - Cookie 未存储在 Android Webview 中

javascript - 不同的单选按钮有不同的音频文件路径,但如何播放呢?

html - 在 CSS 中创建图像拼贴