查看: 5091|回复: 7

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

升级   79.33%

28

主题

60

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 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; //返回列表,作为列表框的可选值




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












本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

138

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37000
发表于 2022-3-25 10:55:24 | 显示全部楼层
您好,数据表格做了一些变动,可以同时多行编辑,所以使用原来的this.form.("字段名")无法获取数据表格中的输入框
var lid = this.target.json.id.split("..");
var cline = lid[2];//获取当前行
var bl = this.form.get("datatable").getModule(cline, "字段名").getData();
现在可以使用这种方式去获取控件
回复

使用道具 举报

升级   79.33%

28

主题

60

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 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[2];//获取当前行
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; //返回列表,作为列表框的可选值

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

使用道具 举报

升级   100%

138

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37000
发表于 2022-3-28 10:04:15 | 显示全部楼层
您第二个下拉框的可选值脚本,并没有获取到第一个下拉框的值
回复

使用道具 举报

升级   79.33%

28

主题

60

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 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;


回复

使用道具 举报

升级   100%

138

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37000
发表于 2022-3-29 09:50:55 | 显示全部楼层
回复

使用道具 举报

升级   48%

0

主题

2

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2022-12-12 11:57:57 | 显示全部楼层

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

使用道具 举报

升级   48%

0

主题

2

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2022-12-12 12:00:26 | 显示全部楼层
Ghost 发表于 2022-12-12 11:57
我也是按照同样教程做的,遇到的问题是:第一下拉能够获取到字典array值,但是第二下拉没有选项,获取不 ...

就是这样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread