永洪社区

标题: 选一个下拉框后 另一个下拉框数据清空 [打印本页]

作者: accccc    时间: 2021-8-20 15:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 永洪tech-wdr    时间: 2021-8-20 15:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: accccc    时间: 2021-8-20 16:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: 永洪tech-wdr    时间: 2021-8-20 17:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: accccc    时间: 2021-8-20 17:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: 永洪tech-wisiy    时间: 2021-8-23 09:55
accccc 发表于 2021-8-20 17:44
我这边试了
if  (param["列表参数1"] != null){
列表参数2.setSelectedObjects(null)}

已经是目前最优解
作者: 美滋滋    时间: 2021-8-23 10:41
本帖最后由 lijie 于 2021-8-23 11:13 编辑

我个人觉得不是点两下的问题,应该进行一个判定,判定到底是哪个复选框发生了变化。
作者: 52v0    时间: 2021-8-23 10:58
本帖最后由 52v0 于 2021-8-23 13:00 编辑

你需要一个值来记录上次的情况  来判断这次的操作  
参考代码
if(!isNull(列表参数1.getSelectedObjects()[0])&&!isNull(列表参数2.getSelectedObjects()[0])){
if(param['last']){
列表参数1.setSelectedObjects([])
}else{
列表参数2.setSelectedObjects([])
}
}

if(isNull(列表参数1.getSelectedObjects()[0])&&isNull(列表参数2.getSelectedObjects()[0])){
param['last']=null
}else{
param['last']=isNull(列表参数2.getSelectedObjects()[0])
}
作者: 美滋滋    时间: 2021-8-23 11:12
我简单的写了一个脚本,应该可以实现楼主的需求了,具体参照下面的脚本信息!
1. 首先在装载时运行中增加下面脚本
var arry_a_bk = 列表参数1.getSelectedObjects()
var arry_b_bk = 列表参数2.getSelectedObjects()

2. 其次在变化时运行中增加下面脚本
var arry_a = 列表参数1.getSelectedObjects()
var arry_b = 列表参数2.getSelectedObjects()
var i = 0;
var change_flag_a = false;
var change_flag_b = false;
if (arry_a.length == arry_a_bk.length) {
    for (i=0;i<arry_a.length;i++) {
        if (arry_a[i] != arry_a_bk[i]) {
            arry_a_bk = 列表参数1.getSelectedObjects()
            change_flag_a = true
        }
    }
}else{
    arry_a_bk = 列表参数1.getSelectedObjects()
    change_flag_a = true
}

if (change_flag_a) {
    列表参数2.setSelectedObjects(null)
    arry_b_bk = 列表参数2.getSelectedObjects()
}else{
    if (arry_b.length == arry_b_bk.length) {
        for (i=0;i<arry_b.length;i++) {
            if (arry_b[i] != arry_b_bk[i]) {
                arry_b_bk = 列表参数2.getSelectedObjects()
                change_flag_b = true
            }
        }
    }else{
        arry_b_bk = 列表参数2.getSelectedObjects()
        change_flag_b = true
    }
    if (change_flag_b) {
        列表参数1.setSelectedObjects(null)
        arry_a_bk = 列表参数1.getSelectedObjects()
    }
}

这样就可以了。
作者: 美滋滋    时间: 2021-8-23 13:09
52v0 发表于 2021-8-23 10:58
你需要一个值来记录上次的情况  来判断这次的操作  
参考代码
if(!isNull(列表参数1.getSelectedObjects()[ ...

哇,这段代码的想法很新颖,学习到了!!




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4