我在维护者的每一行都有一个弹出式数据表,其中包含一些复选框。 我通过单击每行的复选框按钮随机选择/检查项目,并打印在“打印”按钮的帮助下检查的值。
我观察到只有最后选择的复选框按钮才会覆盖所有早期选择。
如何正确选择与每行对应的复选框按钮?
代码段:https://snippet.webix.com/11irkt7o
感谢。
答案 0 :(得分:1)
你的代码为每一行使用一个弹出表的单个实例,因此,当你调用$$ pt.eachRow时,你正在尝试其他最后一个活动值,所有以前的值都会丢失。
更好的解决方案是使用关闭按钮的单击处理程序,获取所有已检查的行并将该数据存储在主行中
{view:"button", label:"Close", click:function(){
ids = collectCheckedRows($$('p_table'));
$$('mytable').updateItem(selectedRow, { checked : ids })
this.getTopParentView().hide()
}}
现在,要打印所有可以使用的值
$$('mytable').eachRow(function(id){
console.log(id, this.getItem(id).checked);
});