今天有人问我怎么在分页当中,附带数据列表中的复选框选择状态。需求是这样的,在切换分页的时候,第一页有N个已经是被选中,再从另一个页切换回来时,还可以看到先前的选择状态。明白了需求,下面我们开始写代码:
下面的a,b两个变量本应该是通过一些JS的处理取得页面的复选框数组值 ,现在的数值是模拟来的。b变量应该在调用tabPage时去获得。我在这里只是为提供一个思路,下面的大家自由来发挥
//取得当前页面列表复选框的所有值,临时空间变量
var a=[1,2,3,4,5,6,7,10,12];
//取得当前页面选中的复选框所有值,昨临时变量
var b=[3,4,5,6];
//保存所有的页面选中值,c的值是需要经过后台的交互处理传递
var c=[3,4,5,6,7];
//上一次操作本页面选中的值及其遍历选中状态 <一, 进入此页面时需要执行的遍历>
function ergodicSelected(a,c){
//当前页的遍历后所选中的值
var currSe=[];
for(var i=0;i<c.length;i++){
var index=$.inArray(c[i],a);
if(index>-1){
var val= a[index];
//alert(val);
//比对value属性值等于val的为选中状态
$("input[name=\'item\'][value=\'"+val+"\']").attr('checked',true);
currSe.push(val);
}
}
return currSe;
}
var prevCheck=ergodicSelected(a,c);
/*
delHaveValue(arr1,arr2)
判断arr1 是否存在于arr2中,如果存在则从arr2中删除相同的索引键值
*/
function delHaveValue(arr1,arr2){
for(var j=0;j<arr1.length;j++){
var index=$.inArray(arr1[j],arr2);
if(index>-1){
//alert(index);
arr2.splice(index,1);
}
}
return arr2;
}
//<二>触发点击切换页时需要做的处理,调用tabPage 返回的是最包括当前页和其他页最新的选择中的状态值。在触动切换页码时,可以把此值向后台PUSH
function tabPage(){
//b应该是在调有此方法时,从页面中获得的
//向C中放值
for(var j=0;i<b.length;j++){
var index=$.inArray(b[j],c);
if(index>-1){
c.push(b[i]);
}
}
//比较当前选中状态的值 ,和从后台传过来当前状态值的差别
//var prevCheck=ergodicSelected(a,c);
var delValue=delHaveValue(b,prevCheck);
return delHaveValue(delValue,c);
}
/*
如果在分页的当中,上面有查询条件,根据查询的结果我们进行了复选框的选择。默认情况下我们不去添加搜索条件,在后台当中接收到的FORM 表单值 不变。在后台我们有一个临时变量对象,用以保存form表单值 的状态。每次请求controller时我们就做一次比对,看是否临时变量值 和新得到的form表单值 是否有变化。如果有变化了,存储复选框选中的数组我们就给初始化为空。否则临时存储form表单的对象不变
*/
相关推荐
可以设定分页按钮的悬浮效果、选中状态以及间距,确保整个分页组件在不同设备上都有良好的显示效果。 3. **jQuery 插件**:在"描述"中提到的"jquery插件分页Demo"可能指的是使用jQuery的插件来简化分页的实现。...
2. **数据分页**:学习如何设计分页逻辑,计算每页的数据量,根据用户翻页操作动态加载或更新列表框中的数据。这可能涉及到数据库查询优化,确保数据读取高效。 3. **用户交互**:处理用户翻页请求,通常通过按钮或...
我们需要维护一个字母表视图,通常是一个水平滚动的`HorizontalScrollView`,里面包含一个`TextView`数组,每个`TextView`代表一个字母。当ListView滚动时,我们根据当前位置更新字母表的选中状态,同时可以优化滑动...
3. **模板和渲染**:DmaComboBox.js可能包含了自定义的模板和渲染逻辑,使得每个选项的展示可以高度自定义,包括文字、图片甚至更复杂的HTML结构。 4. **事件处理**:作为Ext JS组件,ComBobox会有一套完整的事件...
在开发web应用时,我们经常需要处理大量的表格数据,这时Flexigrid就能派上用场,它使得数据显示更加灵活且易于操作。 在Flexigrid中添加Checkbox是一个常见的需求,这有助于用户进行多选操作,例如批量删除或更新...
- **功能说明**:在超链接中,可以附带数据并使用`$_GET`在服务器端接收这些数据。这通常通过在`href`属性中添加`?key=value`格式的参数来实现。 - **示例**:创建HTML文件设置超链接,如`...
4. **分页**:Bootstrap Table 自带分页功能,允许用户控制每页显示的数据量,并在多页间切换。 5. **行选择**:表格中的行可以被选中,支持单选或多选模式,常用于数据操作或表单提交。 6. **扩展性**:通过使用...
它展示了一种列表形式的数据视图,可以包含多列,并且每行数据可以有不同的列宽和显示格式。CtrlList可能是一个扩展版,增加了可编辑功能,允许用户直接在列表内修改数据,而无需打开新的窗口或对话框。 2. **列表...
例如,使用HashMap来存储省份,每个省份下再有一个HashMap存储对应的市区,以此类推。这种结构便于查找和遍历数据。 7. **UI设计与适配**: - UI设计应考虑不同屏幕尺寸和分辨率的适配,可能使用RecyclerView或者...
通常,这是一个嵌套的对象数组,每个对象代表一个省,包含其下属的市,市下又有区。数据模型的设计应适应这种结构,如: ```json { "provinces": [ { "name": "省份A", "cities": [ { "name": "城市A1", ...
111 <br>0184 如何在ASP.NET中获取文件的扩展名 111 <br>0185 如何在ASP.NET中用URL在页面之间传值 112 <br>0186 如何使用IsPostBack实现ASP.NET页面加载 112 <br>0187 如何利用输出缓存技术缓存...