gpt4 book ai didi

javascript - W2UI 网格 : Checked Checkboxes not saving;

转载 作者:行者123 更新时间:2023-11-30 17:14:40 24 4
gpt4 key购买 nike

我在工具栏上引入了两个按钮,一个是“CheckAll”,另一个是“UncheckAll”,它们将对网格中的特定列产生影响,比如“状态”(带有复选框)。我编写了两个 Javascript 函数来执行此操作。

function check_all(the_unchecked){
for(i=0; i<the_unchecked.length; i++){
the_unchecked[i].checked = true;
}
}

function uncheck_all(the_checked){
for(i=0; i<the_checked.length; i++){
the_checked[i].checked = false;
}

} 受影响的领域:

{field: 'status', caption: 'Status', size: '50px', searchable: 'text', resizable: true, render: function (records) {
if (records.status === true) {
return '<span style="background-color:#a3e9a4; width:100%;display:block;"> <input class="enable_check" type="checkbox" name="enable_check[]" value="true" checked="true"></span>';
} else {
return '<span style="background-color:#f69988; width:100%;display:block;"> <input class="enable_check2" name="enable_check[]" value="false" type="checkbox"></span>';
}
}, style: 'text-align:center'},

问题是当我点击保存按钮时,选中的按钮也没有发送/保存到数据库。

我想要的是,当单击 CheckAll 时,它会检查所获取行的状态列中的所有复选框,然后“保存”将所有更改保存到数据库中。

最佳答案

我认为最好的方法是将 checkAll 和 uncheckAll 附加到网格本身。然后使用它就更容易了。我还修改了渲染函数以将状态保存回网格记录。因此,这就是您可以添加的方式:

{ field: 'status', caption: 'Status', size: '50px', 
render: function (record) {
return '<div style="text-align: center">'+
' <input type="checkbox" ' + (record.status ? 'checked' : '') +
' onclick="var obj = w2ui[\''+ this.name + '\']; obj.get('+ record.recid +').status = this.checked;">'+
'</div>';
}
}

然后我将这些函数添加到网格中

checkAll: function () {
this.set({ status: true });
},
uncheckAll: function () {
this.set({ status: false });
},
getAllChecked: function () {
return this.find({ status: true });
}

您可以在定义网格的列时添加。之后,你可以这样调用它:

w2ui[grid_name].checkAll();
// OR
w2ui[grid_name].uncheckAll();

但是,您需要获取所有记录 ID 才能将其提交给服务器,为此请使用 getAllChecked。转念一想,我认为您不需要定义这些函数,因为它们太短了。需要时直接调用他们即可。

注意:您可以考虑使用 grid.show.selectColumn = true。参见 http://w2ui.com/web/docs/w2grid.show

关于javascript - W2UI 网格 : Checked Checkboxes not saving;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26338907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com