先看一下官方的测试:

官方的演示有两个 bug 一个是combox数字一直不变,二是当选回第一个值时不执行 onchange 事件。

经过firebug调试,这是一个bug,传到后台的参数没有得到及时替换,具体bug修复如下:
修改dwz.ajax.js中代码:
/**
* 处理navTab中的分页和排序
* targetType: navTab 或 dialog
* rel: 可选 用于局部刷新div id号
* data: pagerForm参数 {pageNum:"n", numPerPage:"n", orderField:"xxx", orderDirection:""}
* callback: 加载完成回调函数
*/
// 存在一个bug,没有替换options中的numPerPage大小
function dwzPageBreak(options){
var op = $.extend({ targetType:"navTab", rel:"", data:{pageNum:"", numPerPage:"", orderField:"", orderDirection:""}, callback:null}, options);
var $parent = op.targetType == "dialog" ? $.pdialog.getCurrent() : navTab.getCurrentPanel(); if (op.rel) {
var $box = $parent.find("#" + op.rel);
var form = _getPagerForm($box, op.data);
// 替换form中的numPerPage值
var params = $(form).serializeArray();
if (op.numPerPage) {
params[1].value = op.numPerPage;
} if (form) {
$box.ajaxUrl({
type:"POST", url:$(form).attr("action"), data: params, callback:function(){
$box.find("[layoutH]").layoutH();
}
});
}
} else {
var form = _getPagerForm($parent, op.data);
var params = $(form).serializeArray();
// 替换form中的numPerPage值
if (op.numPerPage) {
params[1].value = op.numPerPage;
} if (op.targetType == "dialog") {
if (form) $.pdialog.reload($(form).attr("action"), {data: params, callback: op.callback});
} else {
if (form) navTab.reload($(form).attr("action"), {data: params, callback: op.callback});
}
}
}

完美解决了分页问题及选回 combox 第一个值不执行 onchange 事件。

记录一下...

dwz 分页 bug (选回 combox 第一个值时不执行 onchange)的更多相关文章

  1. Extjs 分页多选的实现

    Extjs 版本 6.X 单页面的多选,没有任何问题. 直接使用 Grid的配置项进行绑定即可获取: xtype: 'grid', bind: { selection: '{checkedRecord ...

  2. thymeleaf单选回显,多选回显,选回显,下拉默认选中第一个

    //默认选中第一个<input type ="radio" name="repaymentType" th:each ="repaymentTy ...

  3. 关于vue+element-ui项目的分页,返回默认显示第一页的问题解决

    关于vue+element-ui项目的分页,返回默认显示第一页的问题解决     问题描述 当前页面如下: 然后点击页码跳到第3页,然后在第三页点击页面链接跳转到新的页面 然后在新页面点击返回按钮,返 ...

  4. bug终结者 团队作业第一周

    bug终结者 团队作业第一周 小组组员及人员分工 小组成员 组长: 20162323 周楠 组员: 20162302 杨京典 20162322 朱娅霖 20162327 王旌含 20162328 蔡文 ...

  5. Easyui-DataGrid 分页多选框 及 遍历所有选中项

    html <table id='grid' class='easyui-datagrid' style='height:500px' url='Ajax-index.php?module=< ...

  6. JQuery实现表格的全选和反选,以及分页勾选保存(laypage插件分页的使用)

    需求: 1.全选与取消全选 2.单个勾选,点击表格单元格中checkbox勾选,也可以在点击行勾选,便与用户操作 3.分页勾选保存 4.固定表头 功能一: 说明:操作全选按钮的同时,遍历每一个tr中的 ...

  7. iview table里面 插入下拉列表组件(自定义组件)一定要加key,不加key,table开始会加载所有数据,然后再从第2页点回第一页,就会走onChange事件,混乱的逻辑,切记加:key

    iview table里面 插入下拉列表组件(自定义组件)一定要加key,不加key,table开始会加载所有数据,然后再从第2页点回第一页,就会走onChange事件,混乱的逻辑,切记加:key 关 ...

  8. [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理

    原文地址:http://kb.cnblogs.com/page/42318/ 系列文章导航: [你必须知道的.NET] 开篇有益 [你必须知道的.NET] 第一回:恩怨情仇:is和as [你必须知道的 ...

  9. c# winform 获取listview 选中行某列的值

    给listview填充数据: for (int i = 0; i < 5; i++) { ListViewItem lvitem = new ListViewItem(); lvitem.Sub ...

随机推荐

  1. java 添加自己的工具包

    一. 在添加工具包前环境变量要定位到当前目录, export CLASSPATH=.:/home/share/ 添加工具类 我的目录\\192.168.1.101\share\share\net\fe ...

  2. Laravel 的 JSON API 接口自动化测试

    Laravel 自带了两种测试类型 Feature Test: 功能测试.针对类似接口这种流程性的测试. Unit Test: 单元测试.针对单个函数这种输入输出结果的测试. 新建一个 Feature ...

  3. 定制自己的new和delete:operator new 和 operator delete

    new和delete不同用法 基本用法 int * aptr = new int(10); delete aptr, aptr = nullptr; 上面的代码是我们最基本也是最常见的使用new和de ...

  4. JS两种事件的触发方式

    一.入侵式触发方式 <input type="button" id="one" onclick="事件" /> 二.非入侵式触发 ...

  5. asserts文件存到外部SD卡里

    package com.example.wang.testapp3; import android.content.res.AssetManager; import android.graphics. ...

  6. Java第三阶段学习(八:网络通信协议、UDP与TCP协议)

    一.网络通信协议 1.概念: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传 ...

  7. sed匹配多行替换

    sed -i '/aaa/{:a;n;s/123/xyz/g;/eee/!ba}' yourfile 如题:aaa123123123123123eee怎么匹配aaa~eee(开始结束字符串确定),然后 ...

  8. js导出带格式的表格(包括单元格合并,字体样式等)

    function HtmlExportToExcelForEntire() { var uri = 'data:application/vnd.ms-excel;base64,', template ...

  9. python 字典相关操作

    字典 字典的增删改查 字典的创建方式: # 创建字典类型 info = { 'name':'李白', 'age':'25', 'sex':'男' } msg = { 'user01':'Longzel ...

  10. adjustPan 没作用

    onCreate里加了这个 影响了 . getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);getWindow ...