jQuery MiniUI

标题: RowEdit 行编辑器多个checkbox问题 [打印本页]

作者: paio    时间: 2013-6-27 18:01:05     标题: RowEdit 行编辑器多个checkbox问题

本帖最后由 paio 于 2013-6-27 18:03 编辑

RowEdit 行编辑器如果一行有多个checkbox要怎么设置,我只要第一个打勾整行的checkbox都会选中了
http://www.miniui.com/demo/index.html#src=datagrid/rowedit.html
  1. <div type="checkboxcolumn" field="married" trueValue="1" falseValue="0" width="60" headerAlign="center">婚否</div>
  2. <div type="checkboxcolumn" field="married2" trueValue="1" falseValue="0" width="60" headerAlign="center">婚否2</div>
复制代码




作者: factory    时间: 2013-6-27 19:20:07

勾选的时候,执行grid.updateRow(row,{married1:"1",married2:"2"})
作者: paio    时间: 2013-6-28 11:09:45

factory 发表于 2013-6-27 19:20
勾选的时候,执行grid.updateRow(row,{married1:"1",married2:"2"})

我一行有很多个checkbox,保存时所有的值都会变成第一个的值,能否给个demo
作者: felt    时间: 2013-6-28 13:39:10

我一行有很多个checkbox,保存时所有的值都会变成第一个的值,能否给个demo

<div type="checkboxcolumn" field="married1" trueValue="1" falseValue="0" width="60" >婚否</div>
<div type="checkboxcolumn" field="married2" trueValue="1" falseValue="0" width="60" >婚否</div>
<div type="checkboxcolumn" field="married3" trueValue="1" falseValue="0" width="60" >婚否</div>

grid.updateRow(row,{married1:"1",married2:"0",married3:"1"}
确保你的多个checkboxcolumn的field不一样.
作者: paio    时间: 2013-6-28 14:22:57

felt 发表于 2013-6-28 13:39
婚否
婚否
婚否

怎么判断每个checkboxcolumn编辑后是否选中
作者: felt    时间: 2013-6-28 16:08:13

怎么判断每个checkboxcolumn编辑后是否选中


alert(row.married)就可以直接看到结果了。
作者: paio    时间: 2013-6-28 18:40:21

felt 发表于 2013-6-28 16:08
alert(row.married)就可以直接看到结果了。

在updateRow之前row是undefinded的,不能知道是否选中
不知道checkbox的值又怎么updateRow
作者: felt    时间: 2013-6-28 19:05:40

在updateRow之前row是undefinded的,不能知道是否选中
不知道checkbox的值又怎么updateRow


row=grid.getSelected();
你总要选中行才去update吧
作者: paio    时间: 2013-6-28 19:57:55

felt 发表于 2013-6-28 19:05
row=grid.getSelected();
你总要选中行才去update吧

http://www.miniui.com/demo/index.html#src=datagrid/rowedit.html
  1. <div type="checkboxcolumn" name="married1" field="married1" trueValue="1" falseValue="0" width="60" >婚否</div>
  2.             <div type="checkboxcolumn" name="married2" field="married2" trueValue="1" falseValue="0" width="60" >婚否</div>
  3.             <div type="checkboxcolumn" name="married3" field="married3" trueValue="1" falseValue="0" width="60" >婚否</div>
  4.             <div type="checkboxcolumn" field="married" trueValue="1" falseValue="0" width="60" headerAlign="center">婚否</div>
复制代码
  1.         function updateRow(row_uid) {
  2.             var row = grid.getRowByUID(row_uid);
  3.             console.log(row_uid,row,row.married1);//这时的row.married1是undefined,要怎么获取值
  4.           //
  5.           //grid.updateRow(row,{married1:"取得row.married1的值",married2:"2"})
复制代码

作者: felt    时间: 2013-6-28 23:30:41

你这列married123都是新建出来的,本来就没有值的啊。


作者: paio    时间: 2013-6-29 13:11:41

felt 发表于 2013-6-28 23:30
你这列married123都是新建出来的,本来就没有值的啊。

我不知道要怎么说了,建议把http://www.miniui.com/demo/index.html#src=datagrid/rowedit.html这个DEMO改成具有多个列为checkboxcolumn的,你就知道我的意思了
作者: factory    时间: 2013-7-1 10:48:57

paio 发表于 2013-6-29 13:11
我不知道要怎么说了,建议把http://www.miniui.com/demo/index.html#src=datagrid/rowedit.html这个DEMO ...

不明白你的意思,你不同列,不同field,当你勾选修改之后,值自然就变了的,获取也是变化了的,新增没有值,你判断下undefined或者给个默认值不就行了?
var row={married1:1}
grid.addRow(row)
作者: paio    时间: 2013-7-2 15:01:48

factory 发表于 2013-7-1 10:48
不明白你的意思,你不同列,不同field,当你勾选修改之后,值自然就变了的,获取也是变化了的,新增没有值,你判 ...

当一行同时有多个checkboxcolumn的时候,所有checkboxcolumn编辑后的值都与第一列checkboxcolumn相同。
DEMO里只有一个checkboxcolumn看不出问题,建议做个同时有多个checkboxcolumn的rowedit试试看
作者: factory    时间: 2013-7-2 15:39:43

paio 发表于 2013-7-2 15:01
当一行同时有多个checkboxcolumn的时候,所有checkboxcolumn编辑后的值都与第一列checkboxcolumn相同。
D ...

[attach]2277[/attach]

[attach]2278[/attach]

[attach]2276[/attach]

没问题


作者: factory    时间: 2013-7-2 16:18:55

paio 发表于 2013-7-2 15:01
当一行同时有多个checkboxcolumn的时候,所有checkboxcolumn编辑后的值都与第一列checkboxcolumn相同。
D ...

确实是个bug,已经修复,下周一发布更新




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2