table中同一行的tr中有两个checkbox,怎么让一个被选中另一个也同时被选中,取消也如此,求JS,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了table中同一行的tr中有两个checkbox,怎么让一个被选中另一个也同时被选中,取消也如此,求JS,相关的知识,希望对你有一定的参考价值。

<table>
<tr>
<td>
<input type="checkbox" name ="box" id ="box" value="">
</td>
<td>
<input type="checkbox" name ="box" id ="box" value="">
</td>
</tr>
<tr>
<td>
<input type="checkbox" name ="box" id ="box" value="">
</td>
<td>
<input type="checkbox" name ="box" id ="box" value="">
</td>
</tr>
</table>

<head>
<script type="text/javascript">
window.onload=function()
var ck = document.getElementsByName('box');
var table = document.getElementsByTagName('table')[0];
var len = ck.length;
var index=0;
for(var i=0;i<len;i++)

ck[i].onclick=function()

index = this.parentElement.parentElement.rowIndex;
    var temptr = table.rows[index];
var llen = temptr.children.length;
 
for(var k=0;k<llen;k++)

 if(this.checked)
 
     temptr.children[k].children[0].checked=true;
 
 else
 
     temptr.children[k].children[0].checked=false;
 
    

;

;
</script>


</head>


<body>
 
<table>
    <tr>
        <td>
            <input type="checkbox" name ="box" id ="box1" value="" />a
        </td>
        <td>
            <input type="checkbox" name ="box" id ="box2" value="" />b
        </td>
    </tr>
    <tr>
        <td>
           <input type="checkbox" name ="box" id ="box3" value="" />c
        </td>
        <td>
            <input type="checkbox" name ="box" id ="box4" value="" />d
        </td>
    </tr>
</table>
 

</body>

参考技术A 给checkBOX加一个valueChange事件,因为一开始没有选中的,如果选中了,就JS里面设置2个都选中,选中方法(得到对应checkbox对象,document.getElementById('id值').checked=true),如果开始选中了,现在没有选中,就都改成false)如果你的命名是一样的,可以得到一个对象组,循环控制是统一选中,或者不选中。 参考技术B 两个checkbox 的id 不能一样 可以定义相同的class 然后给它 绑定点击事件 根据class 改变checkbox的状态 就能把相同的checkbox同时选中取消了

如何比较 Ag Grid 中同一行中的两个数据?

【中文标题】如何比较 Ag Grid 中同一行中的两个数据?【英文标题】:How to compare two data in the same row in Ag Grid? 【发布时间】:2022-01-05 17:11:54 【问题描述】:

我正在使用 Angular 和 Ag Grid。

我在 Ag Grid 表中有一个 contract_start 列和一个 contract_end 列(日期类型)。 我希望contract_end单元格的值只有在contract_end单元格的日期大于contract_start单元格的日期(在同一行)时才能更改。

我已经搜索了解决方案,但不幸的是,我只找到了有关按日期过滤的信息。

【问题讨论】:

【参考方案1】:

在您的contract_end 列定义中,您可以指定一个“可编辑”属性,它可以是布尔值或返回布尔值的函数。

您将使用函数版本。 该函数的参数是一个 EditableCallbackParams 对象,记录在 https://www.ag-grid.com/javascript-data-grid/column-properties/#reference-editing

在函数中,您可以访问行数据,并比较两个列的值。

例如:

editable: function(params: EditableCallbackParams): boolean 
   return params.data.contract_end.getTime() > params.data.contract_start.getTime();
   

请注意,我是从记忆中输入的 - 我没有尝试编译它 - YMMV

【讨论】:

非常感谢,这正是我所需要的! 太棒了!很高兴它成功了。请接受答案。谢谢!

以上是关于table中同一行的tr中有两个checkbox,怎么让一个被选中另一个也同时被选中,取消也如此,求JS,的主要内容,如果未能解决你的问题,请参考以下文章

bootstrap table判断checkbox是否选中

如何比较 Ag Grid 中同一行中的两个数据?

如何用JS在alert中显示table每一行里的值,每行中有checkbox,text,radio男女,和select!

如何访问 Angular Material Data-Table 中同一行的不同单元格中的单元格的值?

第一个table根据checkbox选择tr,在另一个table中显示对应索引的tr(jq遍历的运用)

POSTGRESQL 中同一行的两个结果