起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15068|回复: 32

[结贴] listtable组件里面的checkbox和当前行数据怎么关联

[复制链接]

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
发表于 2018-8-24 16:21:04 | 显示全部楼层 |阅读模式
本帖最后由 zyygod 于 2018-8-24 16:27 编辑

12.png 如图所示,list中第一列是checkbox,我要选中一行或者多行,点保存,保存选中的数据。我在点保存的时候根据什么把选中的checkbox和当前行数据关联起来。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-24 16:56:41 | 显示全部楼层
data保存是保存的所有处于编辑状态的数据,不是保存指定数据

要保存指定数据需要自己遍历data修改行状态,遍历data判断checkbox关联的关系的值是不是选中的值就修改行状态
http://docs.wex5.com/wex5-ui-question-list-2004/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-24 16:59:16 | 显示全部楼层
jishuang 发表于 2018-8-24 16:56
data保存是保存的所有处于编辑状态的数据,不是保存指定数据

要保存指定数据需要自己遍历data修改行状态, ...

我的listtable中的数据是不可编辑的...只需要保存checkbox勾选的数据。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-24 17:10:19 | 显示全部楼层
2楼的方案啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-27 09:42:59 | 显示全部楼层
jishuang 发表于 2018-8-24 16:56
data保存是保存的所有处于编辑状态的数据,不是保存指定数据

要保存指定数据需要自己遍历data修改行状态, ...

判断checkbox关联的关系的值是不是选中的值,这一步是什么意思,具体怎么操作。。我现在是不知道怎么把$("input[type='checkbox']").is(':checked')checkbox选中状态和当前行联系起来...
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-27 10:12:03 | 显示全部楼层
checkbox的bind-ref关联的关系判断值啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-27 13:54:17 | 显示全部楼层
jishuang 发表于 2018-8-27 10:12
checkbox的bind-ref关联的关系判断值啊
  1.         Model.prototype.tr2Click = function(iEvent) {
  2.                 debugger;
  3.                 var data = this.comp("gdzcjbxxbData");
  4.                 /*
  5.                  * 用于处理只保存当前行数据 先将data中所有行数据状态设为NONE
  6.                  */
  7.                 data.each(function(param) {
  8.                         data.setRowState(param.row, Data.STATE.NONE);
  9.                 });
  10.                 data.each(function(options) {
  11.                         if (data.getValue("checkCol", options.row) === "1") {
  12.                                 data.setRowState(options.row, Data.STATE.EDIT);
  13.                                 data.saveData();
  14.                         }
  15.                 });
  16. }
复制代码
这段代码哪边有问题么...
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-27 13:58:38 | 显示全部楼层
遍历一次把不需要保存的设置为none
不是遍历两次一次全设置为none,再遍历一次设置为edit
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-27 14:08:25 | 显示全部楼层
本帖最后由 zyygod 于 2018-8-27 14:27 编辑
jishuang 发表于 2018-8-27 13:58
遍历一次把不需要保存的设置为none
不是遍历两次一次全设置为none,再遍历一次设置为edit ...

并为一个each之后,data.saveData()还是没有反应,我alert(data.getCount())测试了一下,数量没有变...我方法是在list上的tr的click事件里面写的。下面是我checkbox属性的设置。
  1.         Model.prototype.tr2Click = function(iEvent) {
  2.                 debugger;
  3.                 var data = this.comp("gdzcjbxxbData");
  4.                 data.each(function(options) {
  5.                         /*
  6.                          * 用于处理只保存当前行数据 先将data中所有行数据状态设为NONE
  7.                          */
  8.                         if (data.getValue("checkCol", options.row) === "0") {
  9.                                 data.setRowState(options.row, Data.STATE.NONE);
  10.                         }
  11.                         if (data.getValue("checkCol", options.row) === "1") {
  12.                                 data.setRowState(options.row, Data.STATE.EDIT);
  13.                                 data.saveData();
  14.                         }
  15.                 });
  16.                 alert(data.getCount());
  17. }
复制代码


13.png

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-27 14:34:39 | 显示全部楼层
保存放到遍历外面执行
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-8-25 09:13 , Processed in 0.103617 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表