如图:
当点击第一个下拉框的时候会根据选择的值去数据库中查询,把返回的值放在第二个和第三个框中;
代码如下:(column中代码是部分代码)
$("#searchCommCtrlDataTable").datagrid({ //属性 collapsible: false, rownumbers : true, singleSelect:true, striped:true, pagination: true, pageSize: 20, fit:true, nowrap:true, // columns : [[ { field : 'storeLocation', title : '系统下载位置', align : 'center', width : 80, editor : { type : 'combobox', options : { data : storeLocationList, valueField : 'text', textField : 'text', editable : false, panelHeight : 80, onChange:function(newValue, oldValue){ var value; if(newValue=='本地'){ value = 'local'; }else if(newValue=='七牛'){ value = 'qiniu'; } //先获取到当前选中行 //根据当前行获取,当前行的下标 //在根据下标和要获取列的filed获取对应filed的Editor对象 //然后在根据对应的Editor操作 var row = $("#searchCommCtrlDataTable").datagrid('getSelected'); var rowIndex = $("#searchCommCtrlDataTable").datagrid('getRowIndex', row); //此处field为第二个下拉列的field var appTarget = $('#searchCommCtrlDataTable').datagrid('getEditor', {index:rowIndex,field:'appName'}).target; //清空 appTarget.combobox('clear'); var sysparaTarget = $('#searchCommCtrlDataTable').datagrid('getEditor', {index:rowIndex,field:'sysparaName'}).target; //清空 sysparaTarget.combobox('clear'); appTarget.combobox({ url : "/xx/xx/xx.xx?value="+value, valueField : "text",//此处注意返回的值要是是json格式,且key与这的值相同,即全是"test" textField : "text", editable : false, width: 200 }); sysparaTarget.combobox({ url : "/xxx/xx/xx.xx?value="+value, valueField : "text", textField : "text", editable : false, width: 200 }); } } } }, { field : 'appName', title : ' 软件名称 ', align : 'center', editable : true, width : 200, editor : { type : 'combobox' } },{ field : 'sysparaName', align : 'center', title : '系统参数名称', width : 200, editor : { type : 'combobox' } }]]; });