永洪社区

标题: 列表参数是多选,怎么用脚本让它只能勾选三个 [打印本页]

作者: 神奇的一天    时间: 2021-9-27 14:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: _贝贝    时间: 2021-9-27 14:30
    var a = 列表参数1.getSelectedObjects();

    var arr = new Array();

    for(var i =0;i<a.length;i++){

        arr.push(a[i])

    }

    if(a.length>3){

        arr.pop();

        列表参数1.setSelectedObjects(arr,STRING)

    }
作者: 美滋滋    时间: 2021-9-28 09:48
永洪tech-zxx 发表于 2021-9-27 14:30
var a = 列表参数1.getSelectedObjects();

    var arr = new Array();

你这个有一点点小问题。

    for(var i =0;i<a.length;i++){

        arr.push(a)

    }
这段代码会每次按照选择项目顺序存入到数组中,而下面那段代码是将最后一个项目删除。
比如我先选择了列表中的第一,第二,第四项,这个时候,如果你再选择第三项,则会自动删除第四项,而不是禁止再选择第三项。
作者: 美滋滋    时间: 2021-9-28 10:00
做了一个小小的修改,代码如下
    var a = 列表参数1.getSelectedObjects();
    if (a.length <4) {
        var arr = new Array();
        for(var i =0;i<a.length;i++){
            if (!isNull(a[i])) {
                arr.push(a[i])
            }
        }
    }else{
        列表参数1.setSelectedObjects(arr,STRING)
    }






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