【问题标题】:Javascript to record multiple selections from a list box will only separate with commas从列表框中记录多个选择的 Javascript 将仅用逗号分隔
【发布时间】:2015-06-02 21:09:31
【问题描述】:

我正在使用数据库平台,并且由于一些 javascript,我有一个多选列表框。唯一的问题是我需要用“;”分隔这些项目代替 ”,”。我将其作为代码中的分隔符,否则此代码将按预期工作(它存储多个选择)。

代码如下:

var v_state = "[@field:Reason_for_Cancelltaion]" ;
var o_state = document.getElementById("EditRecordReason_for_Cancelltaion") ;
o_state.multiple = true ;

function f_listbox() {
  if ( v_state.indexOf(";") > 0 ) {
    for (var i=0 ; i < o_state.options.length; i++ ) {
      if(o_state[i].value == v_state) {
        o_state.remove(i);
        break ;
      }
    }
    var o_st = v_state.split("; ");
    for (var j=0 ; j < o_st.length; j++) {
      for (var i=0 ; i < o_state.options.length; i++ ) {
        if(o_st[j]== o_state.options[i].value){
          o_state.options[i].selected = true ;
          break ;
        } 
      }
    }
  }
}
window.onload = f_listbox ;

非常感谢任何和所有帮助!

编辑:我应该解释得更好一点,原始代码有“,”,其中两个“;”存在,我认为只需交换角色就足够了。

这是设计用于 Caspio 的代码,可以在 here 找到文档。

【问题讨论】:

  • 这完全没有意义。阅读this
  • v_state 是一个字符串,所以不清楚你要做什么。
  • 您似乎只是想用分号替换逗号?为什么不直接使用string.replace 函数?

标签: javascript concatenation multi-select


【解决方案1】:

如果结果是一个名为 'result' 的数组,请使用您想要的任何字符加入它:

result.join(';')

如果结果是一个名为 'result' 的字符串,则更改指定的字符:

result.replace(', ',';')

【讨论】:

  • 我是 Javascript 的新手,我需要在上面的代码中的什么位置添加这些元素?当前脚本只是将结果(此时用逗号分隔)记录到我数据库中的“Reason_for_Cancellation”字段中。
猜你喜欢
  • 2013-03-06
  • 2013-03-31
  • 1970-01-01
  • 2021-02-18
  • 2013-03-06
  • 1970-01-01
  • 2020-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多