当如果easyui combogrid分布加载时,有默认值,且默认值不在第一页时,此时combogrid里的显示值为idField取到的对就值,如下图:

combogrid分页加载默认值时无法自动跳转到相应页的解决方案-LMLPHP

“xiaoxiao”是默认值,但是并没有到相应的页面中被选择,而停留在了第一页。问题现在很清楚。下面提供解决方案前先分析一下:


  1. 此时显示的xiaoxiao是后台传回的或页面固定的默认值。grid表格中显示的中查询出来的数据。然后xiaoxiao不在第一页
  2. 第一页没有的情况下,如何触发到分布功能按钮,如上一页,下一页等等。
分析完,上代码:


在combogrid数据加载完成后,有个onLoadSuccess方法。在这个方法中实现此功能,如下:

.....
<input id="list_data" style="width:250px" value="xiaoxiao"> // xiaoxiao为设置的默认值
.....
$(function() {
    var find = false; // 为下面进行自动翻页时使用,必须有
    $("#list_data").combogrid({
        idField: 'id',
        textField: 'name',
        //一系列的combogrid设置项就不再说明了
        //.........
        fitColumns: true,
        onLoadSuccess: function(data) { // 当前请求的页面数据。
            $.each(data.rows, function(index, value) {
                if ("xiaoxiao" == value.id) { // value.id与idField属性对应的值
                    find = true;// 循环当前请求页面数据,如果取出的值与默认值一致,则设置成找到
                }
            });
            if (!find) {
                // combogrid获取下一页页码
                var nextPage = $('#list_data').combogrid('grid').datagrid('options').pageNumber + 1;
                $('#list_data').combogrid('grid').datagrid('getPager').pagination("select", nextPage);
            }
        }
    });
});

效果如下:

combogrid分页加载默认值时无法自动跳转到相应页的解决方案-LMLPHP

此时默认的值在combogrid中也是被选中了,且自动跳转到了相应的页面中。

此该当只适用第一次进入页面时有默认值可用。 


08-30 19:34