这段js怎么改

现在这段js var definedOrder用的是固定的值: ["学生", "老师", "家长"],我想换成数据库表a的b字段的值,怎么改呢,别的步骤可以忽略,只改这一步// 获取当前控件的值

var originalValue = this.getValue();

 

// 定义你期望的固定顺序

var definedOrder = ["学生", "老师", "家长"];

 

// 定义一个函数来处理值的顺序

function sortValueByDefinedOrder(valueStr, order) {

    // 1. 拆分字符串:移除开始符和结束符后,按逗号分割成数组

    var valueArray = valueStr.replace(/'/g, '').split(',');

    

    // 2. 过滤与排序:只保留在定义顺序中存在的值,并按定义顺序排序

    var sortedArray = valueArray.filter(function(item) {

        return order.indexOf(item) > -1;

    }).sort(function(a, b) {

        return order.indexOf(a) - order.indexOf(b);

    });

    

    // 3. 重新组合:用逗号连接,并添加上单引号

    return "'" + sortedArray.join(",") + "'";

}

 

// 调用函数,获取处理后的新值

var newValue = sortValueByDefinedOrder(originalValue, definedOrder);

 

// 将处理后的值设置回控件

this.setValue(newValue);

FineReport yzm231115 发布于 2025-10-29 16:27 (编辑于 2025-10-30 17:01)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
2
华莉星宸Lv7专家互助
发布于2025-10-29 16:28

填报属性  里面写公式

SORTARRAY(A2)

最佳回答
0
期待遇见youLv4初级互助
发布于2025-10-29 16:34

或者可以换成文本输入框来实现

最佳回答
0
CD20160914Lv8专家互助
发布于2025-10-30 09:46(编辑于 2025-10-30 19:27)

编辑结束后代码,先获取数据集的值

VALUE("ds1",1)//改成你的数据集名称,与对应的列!

image.png

var selectedValues = this.getValue();

if (!selectedValues || selectedValues.length === 0) { 
    return;
}
var sortedValues = originalOrder.filter(item => selectedValues.includes(item));

var resultStr = sortedValues.join(',');
console.log('按原始顺序排序后的结果:', resultStr);

结果

image.png

  • 4关注人数
  • 77浏览人数
  • 最后回答于:2025-10-30 19:27
    请选择关闭问题的原因
    确定 取消
    返回顶部