注:对多选按钮操作。 1:批量全选添加、批量移除。 2:行单选添加、移除。 3:分页之后(全选或不选)状态标识依然存在 代码如下: /* *****>****>tr单选事件 ————————————————————————————*/ $(“#ajaxshowmdqhList tbody tr”).live(“click”,function(){ sx_tr_Value($(this),false,””); }); /* 筛选重复值 ————————————————————————————*/ var cgdd_id_List=””; var array=new Array(); var i 在JavaScript编程中,分页全选或反选标识的实现是一项常见的需求,特别是在处理大量数据时,例如在表格中展示并进行批量操作。这个场景通常出现在网页应用中,特别是那些需要用户交互和数据管理的系统。以下是根据标题、描述和部分内容解析出的知识点: 1. **jQuery选择器和事件绑定**: - `$("#ajaxshowmdqhList tbody tr")` 这个jQuery选择器用于选取表格中的所有行。`.live()` 方法是用于为动态添加的元素绑定事件,这里用来监听行的点击事件。 - `$("input[name=cgdd_checked_all]")` 用于选取具有特定name属性的全选复选框,通过`.live()` 方法监听其点击事件。 2. **复选框状态处理**: - `$(obj).find("input").attr("checked","checked")` 和 `$(obj).find("input").attr("checked",false)` 分别用于设置复选框选中和未选中状态。 - 使用 `$(obj).attr("id")` 获取当前行对应的ID,以便后续处理。 3. **数组操作**: - `var array=new Array();` 创建一个新数组。 - `array.push(item)` 将元素添加到数组末尾。 - `array.splice(index, howMany[, item1[, item2[, ...]]])` 用于删除或替换数组中的元素,这里用于移除重复项。 - `array.join(separator)` 将数组元素连接成字符串,常用于处理分隔符。 4. **变量管理**: - `cgdd_id_List` 用于存储选中行的ID,它被用来跟踪选中状态。 - `is_add_id` 作为标志,判断是否将当前行ID添加到已选择的ID列表中。 5. **函数实现**: - `sx_tr_Value(obj,all_checked,ck_value)` 函数处理单行选中和取消选中事件,更新`cgdd_id_List`。 - `SortArr(array)` 函数对ID数组进行排序,保持选中ID的顺序一致性,但具体内容未给出,通常可以使用JavaScript的`sort()` 方法。 6. **全选/全不选事件处理**: - 当全选复选框被点击时,`$("input[name=cg_state]").each()` 遍历所有行的复选框并同步它们的状态。 - `not_all_ck_item` 数组用于存储需要反选的ID。 7. **分页处理**: - 关键在于分页后,全选或反选的状态能够正确保留,即使页面跳转,之前的选择状态也能恢复。这需要在切换页面时保存和恢复选中ID的列表。 8. **数据绑定和持久化**: - `$(“#hfselectitemid”).val()` 用于获取或设置隐藏字段的值,这通常是用来在页面间传递数据的一种方式,尤其是当分页发生在多个请求之间时。 9. **性能优化**: - 使用 `.live()` 方法代替 `.on()` 方法可能是因为在旧版本的jQuery中,`.live()` 更适合处理动态加载的元素,但在新版本中,`.on()` 方法通常更推荐,因为它更灵活且效率更高。 这个实现确保了在分页场景下,用户的多选操作(全选、反选、单选)能够正确无误地反映在表格中,并且在切换页面时,这些选择状态能够得到保留。同时,代码还处理了防止ID重复的问题,确保了数据的一致性。
- 粉丝: 8
- 资源: 920
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助