jqGrid 多选提交的问题?

laodan 2013-09-25 05:42:14
用jqGrid做了两个表格(t1,t2),t2的数据根据t1的数据联动,选中t1表格的一行联动刷新t2表格数据.
t1 是多选模式(按住ctrl可以多选),但是在多选的过程中,每选一行会刷新一下t2的数据,现在想实现一个效果:在多选的最后再刷新数据。比如 多选3行,选择第一行和第二行的时候,不刷新数据,只有选择第三行的时候再刷新数据。不考虑右键提交和按钮提交的方式。
...全文
182 点赞 收藏 14
写回复
14 条回复
fzfei2 2013年09月27日
引用 12 楼 laodan 的回复:
[quote=引用 10 楼 fzfei2 的回复:] [quote=引用 9 楼 laodan 的回复:] 谢谢楼上的回答,可以依然没有解决,我在多选过程中,只在最后一个选择的时候才刷新的问题。假定我选择4行,那么选择1、2、3行的时候不发刷新的请求,只在选择第4行的时候发刷新的请求?
按6#,#8 判断 只要选中了 第3行, 就为 true[/quote] 可能是我没说明白,我现在想实现的是:不确定哪一次选择的行是最后提交的行?[/quote] 那你说的是 #5 showbo 的意思了,用#5 clearTimeout setTimeout 方法 延时提交
回复 点赞
laodan 2013年09月27日
引用 10 楼 fzfei2 的回复:
[quote=引用 9 楼 laodan 的回复:] 谢谢楼上的回答,可以依然没有解决,我在多选过程中,只在最后一个选择的时候才刷新的问题。假定我选择4行,那么选择1、2、3行的时候不发刷新的请求,只在选择第4行的时候发刷新的请求?
按6#,#8 判断 只要选中了 第3行, 就为 true[/quote] 可能是我没说明白,我现在想实现的是:不确定哪一次选择的行是最后提交的行?
回复 点赞
引用 9 楼 laodan 的回复:
谢谢楼上的回答,可以依然没有解决,我在多选过程中,只在最后一个选择的时候才刷新的问题。假定我选择4行,那么选择1、2、3行的时候不发刷新的请求,只在选择第4行的时候发刷新的请求?
已经和你说了,延时发送操作,不过对于你选择的记录间距大的,这个延时时间不好定,只能做按钮,或者尽量放大间隔,如3s后自动发送,如果还要查看更详细信息后才绝对是否勾选,你至少要设置5s
回复 点赞
fzfei2 2013年09月27日
引用 9 楼 laodan 的回复:
谢谢楼上的回答,可以依然没有解决,我在多选过程中,只在最后一个选择的时候才刷新的问题。假定我选择4行,那么选择1、2、3行的时候不发刷新的请求,只在选择第4行的时候发刷新的请求?
按6#,#8 判断 只要选中了 第3行, 就为 true
回复 点赞
laodan 2013年09月27日
谢谢楼上的回答,可以依然没有解决,我在多选过程中,只在最后一个选择的时候才刷新的问题。假定我选择4行,那么选择1、2、3行的时候不发刷新的请求,只在选择第4行的时候发刷新的请求?
回复 点赞
fzfei2 2013年09月27日
用样式判断 if( $('#list13 tr:eq(3)').is('.ui-state-highlight') ){ ..... } 或者 如果是以 checkbox 为判断 if( $('#tb :checkbox:eq(2)').is(':checked') ){ .... }
回复 点赞
laodan 2013年09月27日
还有别的思路没?
回复 点赞
laodan 2013年09月27日
这真是个难题,唉
回复 点赞
fzfei2 2013年09月26日
我还以为你是说至少要3个,改成了选中了第3行提交

var rs=jQuery("#tb").jqGrid('getGridParam','selarrrow');
if( $.inArray("3",s)!=-1){
  //提交
}
回复 点赞
jqGrid没有这个功能判断你到底要选择多少条,只能靠感觉了。。如1s后延时更新t2的数据

这个间隔不好定,所以最精确的就是做个按钮来提交
var timer;
$('#grid').jqGrid({
//.........
onSelectRow:function(){
clearTimeout(timer);
timer=setTimeout(function(){/*更新t2的代码*/},1000);
}
//.........
});
回复 点赞
laodan 2013年09月26日
可是我并不能确定length 是多少呀?可能是3,可能是4
回复 点赞
fzfei2 2013年09月25日
看了下AIP有取选中行的方法

var rs=jQuery("#tb").jqGrid('getGridParam','selarrrow');
if(rs.length>2){
 //提交
}
回复 点赞
laodan 2013年09月25日
谢谢,楼上,可以解释一下不?
回复 点赞
fzfei2 2013年09月25日
if( $("#tb :checkbox:checked").length ){ //提交 }
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告