一个简单的checkbox全选的例子

 最近在做一个PHP的项目,开始的时候真是一点都不懂,做过后,才觉得自己对html还真是不熟悉啊,今天学了个东西,也许是很基础的吧,不过原来我不知道,一直都是做.Net。

 

一个checkbox全选的例子

 

    1. //点全选,选中当前父节点下所有子节点
    2. function checkCLASS(o)//o是父checkbox的name值
    3. {
    4.       var str = o + '[]';//子checkbox的name值都为父checkbox值+[](应该是一个数组吧)
    5.       var opare = document.getElementsByName(o);
    6.       var cbs=document.getElementsByName(str);//取得check数组
    7.       for(i=0;i<cbs.length;i++)
    8.       {
    9.         cbs[i].checked=opare[0].checked;
    10.       }
    11. }
    12. //只要有一个子checkbox选中,则他对应的父checkbox就会被选中,
    13. function checkPARENT(o)
    14. {
    15.       var str = o + '[]';
    16.       var opare = document.getElementsByName(o);
    17.       var cbs=document.getElementsByName(str);
    18.       for(i=0;i<cbs.length;i++)
    19.       {
    20.         if(cbs[i].checked == true)
    21.         {
    22.             opare[0].checked = true;
    23.             break;
    24.         }
    25.       }
    26.       if(i == cbs.length)
    27.       {
    28.         opare[0].checked = false;
    29.       }
    30. }
    //选中所有的checkbox控件
  1. function checkAll(o)
  2. {
  3.   var cbs=document.getElementsByTagName('input');//根据标签来查找控件
  4.   for(i=0;i<cbs.length;i++)
  5.   {
  6.     if(cbs[i].type == 'checkbox')//当是checkbox控件
  7.     {
  8.         cbs[i].checked=o.checked;
  9.     }
  10.   }
  11. }

其实主要还是想记录下一下这几个函数的用处:

document.getElementsByName(o);//取得名字为o的数值的所有控件(是一个集合)

document.getElementsByTagName('input');//得得是input标签的控件(可以是image等标签)

另外还有一个是

document.getElementsById(o);//取得ID为哦的数值的控件(是一个,ID本来也是唯一的)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现在 QTableView 中使用一个全选的复选框来选择整列的复选框,你可以通过以下步骤来实现: 1. 确保你的模型中的某一列用于显示复选框。你可以使用 QStandardItemModel 或自定义的模型来实现这一点。 2. 创建一个 QCheckBox 作为全选的复选框。 3. 在视图的表头中插入这个全选的复选框。 4. 连接全选复选框的状态改变信号到一个槽函数。 5. 在槽函数中遍历整列,并设置复选框的状态。 以下是一个示例代码,演示如何在 QTableView 中使用一个全选的复选框来选择整列的复选框: ```cpp #include <QCheckBox> #include <QHeaderView> //... // 创建一个 QCheckBox 作为全选的复选框 QCheckBox* selectAllCheckBox = new QCheckBox(); selectAllCheckBox->setTristate(false); // 设置为二态复选框 // 将全选的复选框插入表头视图 tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive); tableView->setViewportMargins(selectAllCheckBox->width(), 0, 0, 0); tableView->horizontalHeader()->viewport()->layout()->addWidget(selectAllCheckBox); // 连接全选复选框的状态改变信号到槽函数 connect(selectAllCheckBox, &QCheckBox::stateChanged, this, &MyClass::onSelectAllCheckBoxStateChanged); // 槽函数:处理全选复选框状态改变事件 void MyClass::onSelectAllCheckBoxStateChanged(int state) { // 遍历整列,设置复选框的状态 for (int row = 0; row < model->rowCount(); ++row) { QModelIndex index = model->index(row, checkboxColumnIndex); // checkboxColumnIndex 表示复选框所在的列索引 model->setData(index, state, Qt::CheckStateRole); } } ``` 在这个例子中,我们首先创建了一个 QCheckBox 作为全选的复选框。然后,我们将全选的复选框插入到表头视图中。为了确保复选框出现在正确的位置,我们设置了适当的视口边距和布局。 最后,我们连接了全选复选框的状态改变信号 `stateChanged` 到槽函数 `onSelectAllCheckBoxStateChanged`。在槽函数中,我们遍历整列,并根据全选复选框的状态设置相应的数据。 注意:在示例代码中,你需要将 `checkboxColumnIndex` 替换为实际的复选框所在列的索引。 希望这个回答对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值