如图:
当点击第一个下拉框的时候会根据选择的值去数据库中查询,把返回的值放在第二个和第三个框中;
代码如下:(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'
}
}]];
});