js修改字符串问题

var a1 = _g().getParameterContainer().getWidgetByName("startdate").getValue();var a2 = _g().getParameterContainer().getWidgetByName("companyname").getValue();var newArray = a2.split(","); // 将字符串拆分成数组var formattedString = newArray.map(function(item) {    return "'" + item + "'"; // 在每个数组项两侧添加单引号}).join(","); // 重新组合数组为一个字符串,使用逗号分隔// 输出 'a','b','c'alert(a1 + formattedString);

请教下,这样为什么会报错a2.split is not a function

应该如何改,我想把a2复选框控件的值改成 'a','b','c' 格式给数据库in()中使用

FineReport jiskin 发布于 2023-12-4 10:11
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-12-4 10:13(编辑于 2023-12-4 10:16)

直接用公式就可以了啊

in ('${REPLACE(a2,",","','")}')

var a1 = _g().getParameterContainer().getWidgetByName("startdate").getValue();

var a2 = _g().getWidgetByName("companyname").getValue();

var newArray = a2.split(","); // 将字符串拆分成数组

var formattedString = newArray.map(function(item) {    

return "'" + item + "'"; // 在每个数组项两侧添加单引号

}).join(","); 

// 重新组合数组为一个字符串,使用逗号分隔// 输出 'a','b','c'

alert(a1 + formattedString);

最佳回答
0
年年plusLv5中级互助
发布于2023-12-4 10:17

自带的有不用js处理 这块改一下就行image.png

最佳回答
0
快乐星光Lv5中级互助
发布于2023-12-4 10:20(编辑于 2023-12-4 10:20)

你的js应该没错,但你的“companyname”控件返回的是什么类型,如果是字符串,js不需要修改,如果本来就是数组,那直接用a2来map

var formattedString = a2.map(function(item) {    return "'" + item + "'"; // 在每个数组项两侧添加单引号

}).join(","); // 重新组合数组为一个字符串,使用逗号分隔// 输出 'a','b','c'

alert(a1 + formattedString);

  • 4关注人数
  • 152浏览人数
  • 最后回答于:2023-12-4 10:20
    请选择关闭问题的原因
    确定 取消
    返回顶部