Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从列表框中记录多个选择的Javascript将仅以逗号分隔_Javascript_Concatenation_Multi Select - Fatal编程技术网

从列表框中记录多个选择的Javascript将仅以逗号分隔

从列表框中记录多个选择的Javascript将仅以逗号分隔,javascript,concatenation,multi-select,Javascript,Concatenation,Multi Select,我使用的是一个数据库平台,由于一些javascript,我有一个多选列表框。唯一的问题是我需要用“;”而不是“,”分隔这些项目。我将其作为代码中的分隔字符,否则此代码将按预期工作(它存储多个选择) 代码如下: var v_state = "[@field:Reason_for_Cancelltaion]" ; var o_state = document.getElementById("EditRecordReason_for_Cancelltaion") ; o_state.multiple

我使用的是一个数据库平台,由于一些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 ;
var v_state=“[@field:Reason_for_cancellation]”;
var o_state=document.getElementById(“EditRecordReason for_Cancelltaion”);
o_state.multiple=true;
函数f_listbox(){
if(v_state.indexOf(“;”)>0){
对于(var i=0;i
非常感谢您的任何帮助

编辑:我应该解释得更好一点,原来的代码有“where the two”;“exist”,我认为简单地交换字符就足够了


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

如果结果是一个名为“result”的数组,请使用您想要的任何字符将其连接起来:

result.join(';')
如果结果是名为“result”的字符串,请更改指定的字符:

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

这毫无意义。Read
v_state
是一个字符串,所以不清楚您要做什么。您似乎只是想用分号替换逗号?为什么不直接使用
string.replace
函数呢?我对Javascript相当陌生,在上面的代码中我需要在哪里添加这些元素?当前脚本只是将结果(目前用逗号分隔)记录到数据库中的“取消原因”字段中。