easyui可编辑表格中下拉框实现

easyui有个可编辑下拉框,官网demo是只给了一个html的代码它是直接从url里获取json数据
| 产品编号 | 产品 | 市场价 | 成本价 | 描述 | 状态 |
|---|
但是在这里我们在这里使用不行,没法直接获取通过路径直接从后台获取(ps:此处我也不知为什么从后台获取的json,还需要eval下然后加载..)
然后我就想用在定义每行数据是用js写,然后一开始预加载先将下拉框数据加载进来,然后编辑是直接设置加载进来的数据。
html
得到初始化数据
var tdeptna;
var tpostna;
var tdegreena;
$.ajaxSetup({async:false});
//初始化时动态加载教研室列表
$.getJSON("../SyscodeServlet?mode=getcodeByno&&codeno=jxdw",null,function call(data){
if(data.errmsg!=""){
alert(data.errmsg);
return;
}
var tdept=eval(data.result);
tdeptna=tdept;
$("#tdeptid").combobox('loadData', tdept);//直接加载数据
});
//加载职称
$.getJSON("../SyscodeServlet?mode=getcodeByno&&codeno=zhch",null,function call(data){
if(data.errmsg!=""){
alert(data.errmsg);
return;
}
var zhch=eval(data.result);
tpostna=zhch
});
//加载学位
$.getJSON("../SyscodeServlet?mode=getcodeByno&&codeno=xw",null,function call(data){
if(data.errmsg!=""){
alert(data.errmsg);
return;
}
var xw=eval(data.result);
tdegreena=xw;
});
initTable(tdeptna,tpostna,tdegreena);
定义可编辑表单
function initTable(tdept,tpost,tdegree){
$('#teachertb').datagrid({
columns:[[
{title:'教职工编号',field:'tid',width:85},
{title:'姓名',field:'tname',width:80},
{
title:'教研室',
field:'tdeptname',
width:200,
formatter:function(value,row){
return row.tdeptname;
},
editor:{
type:'combobox',
options:{
valueField:'codeid',
textField:'codecontent',
data:tdept,
required:true
}
}
},
{
title:'职称',
field:'tpostname',
width:100,
formatter:function(value,row){
return row.tpostname;
},
editor:{
type:'combobox',
options:{
valueField:'codeid',
textField:'codecontent',
heigh:100,
data:tpost,
required:true
}
}
},
{
title:'学位',
field:'tdegreename',
width:100,
formatter:function(value,row){
return row.tdegreename;
},
editor:{
type:'combobox',
options:{
valueField:'codeid',
textField:'codecontent',
data:tdegree,
required:true
}
}
}
]]
})
}
结束
评论已关闭