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 } } } ]] }) }
结束
评论已关闭