xxzbzx 发表于 2022-3-24 16:16:09

数据表格中下拉框联动不生效

本帖最后由 xxzbzx 于 2022-3-24 16:17 编辑



根据官方教程做了一个下拉框选择联动,两个下拉框分别为:其他费用项目、项目单价,在数据网格(过时)中能生效,




但是把两个下拉框拖到新建的数据表格中无法生效,第二个下拉框内容不能联动第一个下拉框设定的值,永远只显示其中一项的值






其他费用项目(qtfy_xm),可选值设置为脚本:

var dict = new this.Dict("spxmdj"); //获取索赔项目及单价数据字典
var categoryList = dict.get(); //获取数据字典
var options = Object.keys(categoryList); //返回列表,作为列表框的可选值
options.unshift("(请选择大类)|");
return options;



change事件设置

this.form.get("qtfy_dj").resetOption();//刷新单价列



项目单价(qtfy_dj),可选值设置为脚本:


var dict = new this.Dict("spxmdj"); //获取索赔项目及单价数据字典
var categoryList = dict.get(this.data.qtfy_xm); //获取数据字典
return categoryList; //返回列表,作为列表框的可选值



请教如何设置才能让下拉框联动生效,能否给出正确代码












论坛管理员 发表于 2022-3-25 10:55:24

您好,数据表格做了一些变动,可以同时多行编辑,所以使用原来的this.form.("字段名")无法获取数据表格中的输入框
var lid = this.target.json.id.split("..");
var cline = lid;//获取当前行
var bl = this.form.get("datatable").getModule(cline, "字段名").getData();
现在可以使用这种方式去获取控件

xxzbzx 发表于 2022-3-25 14:08:04

论坛管理员 发表于 2022-3-25 10:55
您好,数据表格做了一些变动,可以同时多行编辑,所以使用原来的this.form.("字段名")无法获取数据表格中的 ...

我现在第一个下拉框可选值设置成:
————————————————————————————————————
var dict = new this.Dict("spxmdj"); //获取索赔项目及单价数据字典
var categoryList = dict.get(); //获取数据字典
var options = Object.keys(categoryList); //返回列表,作为列表框的可选值
options.unshift("(请选择大类)|");
return options;

change事件脚本为:
——————————————————————
var lid = this.target.json.id.split("..");
var cline = lid;//获取当前行
this.form.get("qtfy").getModule(cline, "qtfy_dj").resetOption();//刷新单价列

第二个联动下拉框可选值脚本为:
——————————————————————
var dict = new this.Dict("spxmdj"); //获取索赔项目及单价数据字典
var categoryList = dict.get(this.data.qtfy_xm); //获取数据字典
return categoryList; //返回列表,作为列表框的可选值

现在问题依旧,不知道哪里代码出了问题,是不是第二个下拉框代码的问题?请赐教!

论坛管理员 发表于 2022-3-28 10:04:15

您第二个下拉框的可选值脚本,并没有获取到第一个下拉框的值

xxzbzx 发表于 2022-3-28 17:07:19

本帖最后由 xxzbzx 于 2022-3-29 08:45 编辑

论坛管理员 发表于 2022-3-28 10:04
您第二个下拉框的可选值脚本,并没有获取到第一个下拉框的值已经搞定,谢谢指点!
var lid = this.target.json.id.split("..");
var cline = lid[2];//获取当前行
var jiage = this.form.get("qtfy").getModule(cline, "qtfy_xm").getData();
var dict = new this.Dict("spxmdj"); //获取索赔项目及单价数据字典
var categoryList = dict.get(jiage); //获取数据字典
return categoryList;


论坛管理员 发表于 2022-3-29 09:50:55

:)

Ghost 发表于 2022-12-12 11:57:57

论坛管理员 发表于 2022-3-29 09:50


我也是按照同样教程做的,遇到的问题是:第一下拉能够获取到字典array值,但是第二下拉没有选项,获取不到string值。请问下怎么处理,谢谢

Ghost 发表于 2022-12-12 12:00:26

Ghost 发表于 2022-12-12 11:57
我也是按照同样教程做的,遇到的问题是:第一下拉能够获取到字典array值,但是第二下拉没有选项,获取不 ...

就是这样
页: [1]
查看完整版本: 数据表格中下拉框联动不生效