easyui翻页后修改datagrid 报错 Cannot read property 'ck' of undefined

czczcz11 2017-09-18 06:27:13
[code=html
<html>
<head>
<base href="<%=basePath%>">

<title></title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" href="duowei/css/style.css" type="text/css"></link>

<script src="duowei/js/main.js"></script>
<script src="duowei/js/echar.js"></script>
<script type=text/javascript src="duowei/js/jquery-1.4.3.min.js"></script>
<%@include file="/common/jquery_easyui_include.jsp"%>
<script type="text/javascript" src="<%=basePath %>js/lhgdialog/lhgdialog.min.js?skin=jtop"></script>
</head>





<body onload="onload()" class="easyui-layout" >
<input type="hidden" id="currentCityId" value="${sessionScope.current_area_id}">
<input type="hidden" id="currentCityName" value="${sessionScope.current_city_Name}">
<input type="hidden" id="currentZoneNumber" value="${sessionScope.current_zone_Number}">
<div class="city-box">
<div style="margin-top:2px;width:100%;height:45px;padding-top:30px;padding-left:15px;">

   所属城市:
<select id='selectCity' name='selectCity' onchange="changeArea()" style="border-right:1px solid #E6E8EA" >
<option selected="selected" value="-1">所属城市</option>
<c:forEach items="${sessionScope.areaList}" var="area">
<option <c:if test="${sessionScope.current_area_id==area.AREA_ID}">selected="selected" </c:if> value="${area.AREA_ID}" valueZoneNumber="${area.ZONE_NUMBER}" extent="${area.KEYVALUE}" >${area.NAME}</option>
</c:forEach>
</select>


        <input type="button" id = "exportId" value="评估" onclick=" autoEvaluation()" style="border: 1px solid #EED2EE;height: 25px;background-color: rgb(229, 234, 245)">
        <input type="button" id = "exportId" value="批量评估" onclick=" autoBatchEvaluation()" style="border: 1px solid #EED2EE;height: 25px;background-color: rgb(229, 234, 245)">

</div>
<div style="margin-top:2px;width:100%;height:45px;padding-left:15px;">

</div>

<div id="bztff" style="width:98%;height:90%;margin-top:10px;margin-left:4px">
<div class="easyui-panel" style="width:90%; height:85%;margin-left:20px">
<table id="communityList" style="width:95% " >
<thead>
<tr>
<th field="ck" checkbox="true" ></th>
<th data-options="field:'SHENG_NAME'" style="width:15%;" >省份</th>
<th data-options="field:'CITYID'" style="width:15%;">城市id</th>
<th data-options="field:'CITY_NAME'" style="width:15%;">城市名称</th>
<th data-options="field:'AREA_NAME'" style="width:15%;">行政区</th>
<th data-options="field:'XQID'" style="width:15%;">小区ID</th>
<th data-options="field:'COMMUNITY_NAME'" style="width:15%;">小区名称</th>
<th data-options="field:'ADDRESS'" style="width:15%;">小区地址</th>
<th data-options="field:'message'" style="width:15%;">评估信息</th>
<th data-options="field:'unitprice'" style="width:15%;">unitprice</th>
<th data-options="field:' zxd'" style="width:15%;">zxd</th>
<%--<th data-options="field:'AREA_NAME'" style="width:15%;">行政区名称</th>--%>
<%--<th data-options="field:'TOTALFLOOR'" style="width:15%;">总楼层</th>--%>
<%--<th data-options="field:'msg'" style="width:15%;">评估结果</th>--%>

</tr>
</thead>
</table>
</div>
</div>
</div>


</body>
<script type="text/javascript" >

/**
* 自动评估
*/
var autoEvaluation=function(){
//得到一行数据
var row = $('#communityList').datagrid('getSelected');
var rowIndex = $("#communityList").datagrid('getRowIndex', row);
var ADDRESS1 =encodeURI( row.ADDRESS);
var AREA_NAME1 =encodeURI( row.AREA_NAME);
var COMMUNITY_NAME1 =encodeURI(row.COMMUNITY_NAME);
// alert(row.code);
console.log(row);
//调用自动评估接口
$.ajax({
url : "AutoEvaluationController/AutoEvaluation.do",
dataType:'json',
data : {"ADDRESS":ADDRESS1,"AREA_NAME":AREA_NAME1,"COMMUNITY_NAME":COMMUNITY_NAME1},
type:'post',
async : false,
success :function(data){
// alert(data.message+";评估价格:"+ data.unitprice);
var _msg = data.message+"; ";
if(data.code=='0') {
_msg += "评估价格:"+ data.unitprice;
}
$('#communityList').datagrid('updateRow',{index: rowIndex, row: {
message:data.message,
unitprice: data.unitpridace,
zxd:data.zxd
}});
}});

}
/**
* 批量自动评估
*/
var autoBatchEvaluation=function(){
$('#communityList').datagrid("reload")
//得到数据
var row = $('#communityList').datagrid('getSelections');
if(row.length<1){
alert("请选中至少一行数据");
return;
}
var $d =$('#communityList');

var rowResult =JSON.stringify(row);
//alert(rowResult);
//调用自动评估接口
$.ajax({
url : "AutoEvaluationController/batchValuation.do",
dataType:'json',
data :rowResult ,
type:'post',
async : false,
contentType : 'application/json;charset=utf-8',
success :function(data){
for (var i =0;i<data.length;i++){

$d.datagrid('updateRow',{index: (data[i].rn)-1, row: {
message:data[i].message,
unitprice: data[i].unitprice,
zxd:data[i].zxd,
}});

}
// $('#communityList').datagrid('clearSelections');
}})

}


var cityid=$("#selectCity").val();
var areid=-1;
function changeArea(){
cityid= document.getElementById("selectCity").value;

if(cityid.indexOf("select")>0){
cityid=cityid.substring(0,cityid.indexOf("sele"));
}
$("#citySelect1").empty();
getAreas();
areid= document.getElementById("citySelect1").value;

// getdata();
getdangerYapin(cityid,areid);
}

//分页查询
function getdangerYapin (cityid,areid){
var zonenumber=$("#selectCity").find("option:selected").attr("valueZoneNumber");
zonenumber=zonenumber.substring(0,4);
$('#communityList').datagrid({
title:"",
///iconCls:"icon-edit",//图标
width: "100%",
height: "auto",
nowrap: false,
striped: false,
border: false,
fit:true,
pageSize: 15,
pageList:[15, 25, 50],
collapsible:false,//是否可折叠的
url:"AutoEvaluationController/searchAutoE.do",
remoteSort:false,
queryParams:{
cityId:cityid,
areid: areid,
zoneNumber:zonenumber
},
// idField:'fldId',
pagination:true,//分页控件
rownumbers:false,//行号
method:'post'
});

$('#communityList').datagrid('loadData', { total: 0, rows: [] });//清空下方DateGrid

}

function getdata(){
areid= document.getElementById("citySelect1").value;
getdangerYapin (cityid,areid);
}

function getAreas(){
cityid= document.getElementById("selectCity").value;
$("#citySelect1").empty();
$.ajax({
url : "address/getListAreaYp.do",
dataType:'json',
data : {"cityid":cityid},
type:'post',
async : false,
success :function(areas){
if(areas){
var html = "<option value = \"-1\" selected=\"selected\">行政区</option>";
var l = areas.length;
for(var i = 0;i<l;i++){
var area = areas[i];
if(area.NAME=="市辖区"){
continue;
}
html += "<option value=\""+area.AREA_ID+"\">"+area.NAME+"</option>";
}
$("#citySelect1").html(html);
}else{

}

}});
getdata();
}

function onload(){

getAreas();
//getdata();
}


</script>
</html>
[/code]
第一页 可以实现点击批量评估显示红框内数据
一旦翻页后再点击 就会报错Uncaught TypeError: Cannot read property 'ck' of undefined
求教大神们 怎么办
...全文
519 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zk_Kang 2017-09-28
  • 打赏
  • 举报
回复
你定义了一个ck对象,这个对象为undefined,分页时,可能调用这个对象,则报这个错误,原谅我,我在你分页中没找到ck在哪,是不是返回的数据中有ck这个对象为undefined,将它设置为“”,一般就没问题了。。
jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签 1.3.6更新 Bug treegrid: getChecked方法不能返回正确的行. fixed. tree: 异步树,在onlyLeafCheck:true时复选框不显示正确. fixed. Improvement treegrid:继承datagrid组件所有的selecting和checking方法。 linkbutton:图标对齐方式,支持值:'top','bottom','left','right'。 linkbutton:添加"size"属性,支持值:'small','large'。 linkbutton:添加的onClick事件。 menubutton:添加"menuAlign"属性,允许用户设置顶级菜单对齐。 combo:添加"panelAlign"属性,支持值:'left','right'。 calendar:"formatter"、"styler"和"validator"选项可用于自定义日历日期。 calendar:添加的onChange事件。 panel:添加"method","queryParams"和"loader"属性。 panel:添加"onLoadError"事件。 datagrid:添加"onBeginEdit"事件。 datagrid:添加"onEndEdit"事件。 datagrid:添加"sort"方法和"onBeforeSortColumn"事件。 datagrid:"combogrid"编辑器集成到datagriddatagrid:添加"ctrlSelect"属性,允许使用ctrl+click 多选 slider:添加"converter"选项,允许用户决定如何将一个值转换为滑块的位置或滑块位置值。 searchbox:添加"disabled"属性。 searchbox:添加"disabled","enable","clear","reset"方法。 spinner:添加"readonly"属性、"readonly"方法和"onChange事件。
最新版本的jQuery EasyUI 1.3.6版全中文API汉化文档火热出炉,由于很多人和我要chm格式的,所以本次API我提供了2种版本的API,一个还是以前的EXE格式,另外一个就是人气颇高的chm格式。本次还将EasyUI 1.3.6版直接提供到API包里面,方便没有去官网下载的人直接使用。请大家持续关注我发布的资源,不出意外,我是会一直持续更新本API文档的。本次更新内容大约有30个,Bug修复的只有2个,剩下的全是新增内容,EasyUI的控件已经越来越好用了,顶一个。但是希望能把性能也提升提升,总是感觉在某些情况下EasyUI的性能不是太好。具体更新内容请看下面的说明: jQuery EasyUI 1.3.6版本更新内容: Bug(修复) treegrid:修复“getChecked”方法不能正确的返回被选择的行的问题; tree:修复在“onlyLeafCheck”属性为true时,复选框无法在异步树种正确显示的问题。 Improvement(改进) treegrid:所有的选择和选中的方法都扩展自datagrid组件; linkbutton:添加图标对齐功能的完整支持,可用值有:“top”、“bottom”、“left”、“right”; linkbutton:添加“size”属性,可用值有:“small”、“large”; linkbutton:添加“onClick”事件; menubutton:添加“menuAlign”属性,该属性允许用户设置顶级菜单对齐; combo:添加“panelAlign”属性,可用值有:“left”、“right”; calendar:添加“formatter”、“styler”和“validator”属性,这些属性允许用于自定义日历日期; calendar:添加“onChange”事件; panel:添加“method”、“queryParams”和“loader”选项; panel:添加“onLoadError”事件; datagrid:添加“onBeginEdit”事件,该事件在一个行进入编辑模式时触发; datagrid:添加“onEndEdit”事件,该事件在完成编辑但是编辑器尚未销毁之前触发; datagrid:添加“sort”方法和“onBeforeSortColumn”事件; datagrid:将“combogrid”编辑器集成到datagrid中; datagrid:添加“ctrlSelect”属性,在启用多行选择的时候允许使用Ctrl键+鼠标点击的方式进行多选操作; slider:添加“converter”属性,该属性允许用户决定如何将一个值转换为进度条位置或进度条位置值; searchbox:添加“disabled”属性; searchbox:添加“disable”、“enable”、“clear”、“reset”方法; spinner:添加“readonly”属性、“readonly”方法和“onChange”事件。

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧