最近在写一个项目的时候,由于前台用的是jquery的easyUI,需要一个前台筛选数据的功能,我的数据时后台用fastjson(alibaba)的那个返回的,easyUI自带的filter又太冗杂,寻思自己写一个,主要就是js循环遍历json数据,判断,然后绑定到datagrid上面。不说了,上码。
<span style="white-space:pre"> </span>按操作类型:
<select id="cc" name="operateType" onChange=filterByType(this.value)>
<option value="qikao">弃考</option>
<option value="luqu">录取</option>
<option value="noOperate">未操作</option>
<option value="all" selected="selected">全部</option>
</select>
function filterByType(value){
var json=<%=json%>;
var resultJson = <%=resultJson%>;
var rst=[];
if(value=="qikao"){
// for(var i=0;i<rows.length;i++){
// var operateValue=$("input[name='"+rows[i].candidates_id+"']:checked").val();
// if(operateValue==1){
// rst.push(rows[i]);
// }
// }
for(var m=0;m<json.length;m++){
if(json[m].evaluate==1){
rst.push(json[m]);
}
}
$('#interviewEvaluate').datagrid('loadData',rst);
}else if(value=="luqu"){
for(var m=0;m<json.length;m++){
if(json[m].evaluate==2){
rst.push(json[m]);
}
}
$('#interviewEvaluate').datagrid('loadData',rst);
}else if(value=="noOperate"){
for(var m=0;m<json.length;m++){
if(json[m].evaluate==null&&json[m].evaluate==""){
rst.push(json[m]);
}
}
$('#interviewEvaluate').datagrid('loadData',rst);
}else if(value=="all"){
var json=<%=json%>;
var resultJson = <%=resultJson%>;
if(json!=null&&json!=""){
$("#interviewEvaluate").datagrid('loadData',resultJson);
}else{
}
}
}