W2UI网格:选中复选框不保存;
W2UI grid: Checked Checkboxes not saving;
我在工具栏上引入了两个按钮,一个"CheckAll",另一个"UncheckAll",它们将对网格中的特定列产生影响,比如"Status"(带复选框)。为此,我编写了两个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时,它会选中提取行的Status列中的所有复选框,然后"保存"将所有更改保留到数据库中。
我认为最好的方法是将checkAll和uncheckAll附加到网格本身。然后它更容易使用。我还修改了render函数,将状态保存回网格记录。所以,这就是你可以添加的方式:
{ 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自动提交保存/重新填充的复选框
- 如何使用复选框启用选项并通过本地存储进行保存
- JavaScript-使用sessionStorage保存文档之间共享的复选框状态
- 将复选框选中的状态保存并加载到数据库
- 如何保存和访问复选框数据 HTML
- 如何将复选框数组中的数据保存到数据库中
- 如何在 javascript 的信息窗口中使用 cookie 保存复选框状态
- 单击时自动保存复选框
- localStorage如何保存复选框
- 具有Raspberry Pi nginx网页保存复选框状态
- 单击时保存复选框的状态
- 在HTML或Javascript中保存复选框状态
- 如何在页面刷新后保存复选框状态
- 引导弹出窗口不保存复选框
- 正在浏览器缓存中保存复选框值
- 保存复选框的动态状态时遇到问题(Javascript,jQuery)
- 本地存储未保存复选框未选中阶段
- jQuery-在cookie中保存复选框条件