在项目中遇到的一个对我来说很棘手的一个问题,在Easyui 中可编辑表格中实现级联 大类,品牌,名称的三级联动
在别的地方看到: field:'aa1' ,
title:'主讲老师分类' ,
width:100 ,
editor : {
type : 'combobox',
options : {
url:'codeTypeAction_search.action?parentId=0&type=27',
valueField:'id' ,
textField:'name',
onSelect:function(data){
var row = $('#set_schedule').datagrid('getSelected');
var rowIndex = $('#set_schedule').datagrid('getRowIndex',row);//获取行号
var thisTarget = $('#set_schedule').datagrid('getEditor', {'index':rowIndex,'field':'aa1'}).target;
var value = thisTarget.combobox('getValue');
var target = $('#set_schedule').datagrid('getEditor', {'index':rowIndex,'field':'bb1'}).target;
target.combobox('clear'); //清除原来的数据
var url = 'codeTypeAction_search.action?type=28&parentId='+value;
target.combobox('reload', url);//联动下拉列表重载
}
}
} , {
field:'bb1' ,
title:'主讲老师细类' ,
width:100 ,
editor : {
type : 'combobox',
options : {
url:'codeTypeAction_search.action?type=28',
valueField:'id' ,
textField:'name',
onSelect:function(data){
var row = $('#set_schedule').datagrid('getSelected');
var rowIndex = $('#set_schedule').datagrid('getRowIndex',row);//获取行号
var thisTarget = $('#set_schedule').datagrid('getEditor', {'index':rowIndex,'field':'bb1'}).target;
var value = thisTarget.combobox('getValue');
var target = $('#set_schedule').datagrid('getEditor', {'index':rowIndex,'field':'morningTeacherId'}).target;
target.combobox('clear'); //清除原来的数据
var url = 'teacherAction_search.action?teacherTypeId2='+value;
target.combobox('reload', url);//联动下拉列表重载
}
}
}
},
这种方法但是不懂得那个Url在我项目中怎么写 怎么用 还有就是我只有两张表 一个大类表 一个商品表 商品表中有品牌 名称两张表主外键关系,所以不知道品牌 名称怎么绑定combobox 有人说可以用name值绑定 但是我试过 为什么没有一点点反应啊? 实在是不能再拖了 项目延期了 求大神搭把手啊!
在别的地方看到: field:'aa1' ,
title:'主讲老师分类' ,
width:100 ,
editor : {
type : 'combobox',
options : {
url:'codeTypeAction_search.action?parentId=0&type=27',
valueField:'id' ,
textField:'name',
onSelect:function(data){
var row = $('#set_schedule').datagrid('getSelected');
var rowIndex = $('#set_schedule').datagrid('getRowIndex',row);//获取行号
var thisTarget = $('#set_schedule').datagrid('getEditor', {'index':rowIndex,'field':'aa1'}).target;
var value = thisTarget.combobox('getValue');
var target = $('#set_schedule').datagrid('getEditor', {'index':rowIndex,'field':'bb1'}).target;
target.combobox('clear'); //清除原来的数据
var url = 'codeTypeAction_search.action?type=28&parentId='+value;
target.combobox('reload', url);//联动下拉列表重载
}
}
} , {
field:'bb1' ,
title:'主讲老师细类' ,
width:100 ,
editor : {
type : 'combobox',
options : {
url:'codeTypeAction_search.action?type=28',
valueField:'id' ,
textField:'name',
onSelect:function(data){
var row = $('#set_schedule').datagrid('getSelected');
var rowIndex = $('#set_schedule').datagrid('getRowIndex',row);//获取行号
var thisTarget = $('#set_schedule').datagrid('getEditor', {'index':rowIndex,'field':'bb1'}).target;
var value = thisTarget.combobox('getValue');
var target = $('#set_schedule').datagrid('getEditor', {'index':rowIndex,'field':'morningTeacherId'}).target;
target.combobox('clear'); //清除原来的数据
var url = 'teacherAction_search.action?teacherTypeId2='+value;
target.combobox('reload', url);//联动下拉列表重载
}
}
}
},
这种方法但是不懂得那个Url在我项目中怎么写 怎么用 还有就是我只有两张表 一个大类表 一个商品表 商品表中有品牌 名称两张表主外键关系,所以不知道品牌 名称怎么绑定combobox 有人说可以用name值绑定 但是我试过 为什么没有一点点反应啊? 实在是不能再拖了 项目延期了 求大神搭把手啊!
解决方案 »
- .NET委托: 一个C#睡前故事
- 讨论下如何做好SEO(搜索引擎优化),先散100分~~~~~~~~~~~
- javascript如和精确判断两个时间大小??
- 求一个算法和思路 !!
- Request Entity Too Large 问题请教?
- 自定义控件中,继承gridview,如何去掉viewstate而不会引起功能的问题?高分!!!!高手以入
- aspx页面调用浏览器打印预览,打印设置,打印按钮,出现脚本错误,没有权限
- 自己写的购物车类,大家帮忙找找问题......如果有功能上的扩充需求,请提出.
- 大家帮忙看看这个网站要多少钱?
- 帮帮忙``在线急等
- 声明函数 abc:function() 和 function abc() 有什么区别
- ASP.NET MVC4 新增和修改时不同验证问题
<input id="txtPipeRowName" style="width:150px;">
<input id="txtPipeName" style="width:150px;"> // 一层Combo
var srmCombx = $("#txtShouName").combobox({
loader:function(param,success,error){
$.ajax({
url: '${CTX_ROOT}/TEquipmentsController?method=getEquipmentByParId&id='+selectSgId+'',
dataType: 'json',
success: function(data){
data.unshift({equipmentid:'',equipmentname:'全部'});
success(data);
},
error: function(){
error.apply(this, arguments);
}
});
},
onSelect:function(record){ //onSelect 用户点击时触发的事件 在此的意义在于,用户点击一级后自动二级combobox
piperowCombx.combobox({
loader:function(param,success,error){
$.ajax({
url: '${CTX_ROOT}/TEquipmentsController?method=getEquipmentByParId&id='+$("#txtShouName").combobox("getValue")+'',
dataType: 'json',
success: function(data){
data.unshift({equipmentid:'',equipmentname:'全部'});
success(data);
},
error: function(){
error.apply(this, arguments);
}
});
},
onSelect:function(record){ //这里也使用了onSelect事件,在二级combobox被用户点击时触发三级combobox
pipeCombx.combobox({
loader:function(param,success,error){
$.ajax({
url: '${CTX_ROOT}/TEquipmentsController?method=getEquipmentByParId&id='+$("#txtPipeRowName").combobox("getValue")+'',
dataType: 'json',
success: function(data){
data.unshift({equipmentid:'',equipmentname:'全部'});
success(data);
},
error: function(){
error.apply(this, arguments);
}
});
},
valueField: 'equipmentid',
textField: 'equipmentname',
value:'',
editable:false
});
},
onLoadSuccess:function(){ //清空三级下拉框 就是成功加载完触发的事件 当一级combobox改变时,二级和三级就需要清空
pipeCombx.combobox("clear");
pipeCombx.combobox('setValue', '全部'); //给combobox下拉框设置一个值,否则为空不好看
},
valueField: 'equipmentid',
textField: 'equipmentname',
value:'',
editable:false
}).combobox("clear"); //清空二级下拉框
},
valueField: 'equipmentid',
textField: 'equipmentname',
value:'',
editable:false
});
/******************************************************************************************************/
//下面的俩个是组件,
// 二层Combo
var piperowCombx = $("#txtPipeRowName").combobox({
loader:function(param,success,error){
$.ajax({
url: '${CTX_ROOT}/TEquipmentsController?method=getEquipmentByParId&id='+$("#txtShouName").combobox("getValue")+'',
dataType: 'json',
success: function(data){
data.unshift({equipmentid:'',equipmentname:'全部'});
success(data);
},
error: function(){
error.apply(this, arguments);
}
});
},
valueField: 'equipmentid',
textField: 'equipmentname',
value:'',
editable:false
});
//三层Combo
var pipeCombx=$("#txtPipeName").combobox({
loader:function(param,success,error){
$.ajax({
url: '${CTX_ROOT}/TEquipmentsController?method=getEquipmentByParId&id='+$("#txtPipeRowName").combobox("getValue")+'',
dataType: 'json',
success: function(data){
data.unshift({equipmentid:'',equipmentname:'全部'});
success(data);
},
error: function(){
error.apply(this, arguments);
}
});
},
valueField: 'equipmentid',
textField: 'equipmentname',
value:'',
editable:false
});