我需要在这个列表中,分别在不同的页里面取值,列表是用控件实现的
目前实现了分页单个取值的方式,现在的问题是怎么支持不同页全选的方式呢?
目前实现方式,eg:
1.在第一页选择一个数据A,在第二页选择数据B,C,然后把三个数据存储在数组里面,再存到隐藏控件中。
2.加入到数组的方式,是通过选中某个复选框时,通过触发onSelect事件;如果去掉C,那就通过onUnselect事件移除数组中的c值,最终数组只剩下A,B.
目前问题:
1.如果我在第一页全选,然后在第二页全选,把数据都加到数组中,那就有20个记录;这个已实现,但因为最多只能选择10个数据,所以必须去掉10个
2.如果我在第二页点击去掉全选的复选框,那怎么移除数组中的11-20个数据呢?我的困惑是不知道怎么定位20个数据中,我怎么知道哪10个是第二页的数据呢?
3.同事提供的建议,是把每个复选框加一个ID属性,比如:check id="ck_1".然后获取当前页中所有的复选框,再遍历,再替换cK_,最后只剩1,从而获取数据ID,
但是如果我有第二个疑问:
1.在第二页去掉全选,再翻页到第一页,那就无法获取第二页的复选框了
2.同事建议在点击全选复选框时,就触发事件,去掉数组中的当前页的数据,但某个数据有onSelect事件,那全选复选框有什么事件可以在操作复选框时就移除数组中数据呢?
PS:我感觉有点绕,不知道是否描述清空了,请各位大神帮忙提哈建议哦
首先,分页取值应该取的是记录的ID吧(假设非索引)。
第二,对于全选,在每次点全选的时候,判断已有数量,和当前页数量,之和超过10,则终止全选的后续代码。(解决问题1)。
第三,取消全选时删除的问题,由于数组存记录的ID,所以不唯一,删除时直接移除对应的ID即可。(解决问题2)。
对于疑问:
1、第二页去掉全选,再翻页到第一页,此时数组中第二页的数据已经删除了。再获取第二页的复选框无意义啊。(建立在点击全选时就触发事件)
2、对于第二个疑问,可以采用标识变量实现。全选按钮点击时,设置0,此时单个的checkbox的事件失效,全选操作完成后,设置1,启用单个checkbox的事件。
PS:不知道我描述清楚没?,再PS:如楼上所说,楼主是妹子?
是啊。。。你说得好详细啊。。。我试试看~~谢谢了哈
@Sunny-懒阳阳: 嘿嘿,程序媛很稀少啊~