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
求教大神们 怎么办
...全文
395 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zk_Kang 2017-09-28
  • 打赏
  • 举报
回复
你定义了一个ck对象,这个对象为undefined,分页时,可能调用这个对象,则报这个错误,原谅我,我在你分页中没找到ck在哪,是不是返回的数据中有ck这个对象为undefined,将它设置为“”,一般就没问题了。。

87,901

社区成员

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

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