jqgrid多次使用setSelection选中同一行

项目中用到的前端组件是jqgrid,有一个需求是根据扫描的物料将table中的行选中,jqgrid中选中的函数如下:

$("#datagrid").jqGrid('setSelection',rowid);

需求如下:
页面现有table两行,行A,行B,五个条码,三个对应行A,两个对应行B,随机扫描条码,扫描属于行A的条码,行A被选中,扫描属于行B的条码,行B被选中。
遇到的问题:
实现过程中出现了问题,条码1、条码2都属于行B,扫描条码1后调用选中函数,行B被选中,再次扫描条码2调用选中函数,行B取消选中。
解决方案:
设置一个全局集合,将选中的rowid存入集合,如果存在,则不调用选中函数,如果不存在,再调用选中函数,伪代码如下:

// 全局变量 存放已经选中的rowid
var idList = new Array();

function doSelect(rowid){
	// 选中标记 默认没有选中
	var selectedFlag = false;
	// 遍历已存放的rowid
	idList.foreach(function(one){
		// 如果匹配 代表已经选中了
		if(rowid == one){
			selectedFlag = true;
		}
	});
	// 如果没有选中 则执行函数 如果选中了 则不执行函数
	if(!selectedFlag){
		$("#datagrid").jqGrid('setSelection',rowid);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值