javascript全局数组问题

javascript全局数组问题,javascript,Javascript,考虑一个场景 我有一个声明为全局的javascript数组 例如: var globalarray=new Array(); 接下来,我有两个多选择框 选择框A 选择框B selectbox中的所有选项值都是动态的, 如果我从selectboxa和selectboxb中选择了多个值。我收集全局数组中的选定值 重要提示:如果我从selectboxa或selectboxb中选择值没有问题,但如果我从selectboxa和selectboxb中交替选择,则会产生问题 问题:在保存时,我从数组中收集

考虑一个场景

我有一个声明为全局的javascript数组

例如:

 var globalarray=new Array();
接下来,我有两个多选择框

选择框A 选择框B selectbox中的所有选项值都是动态的, 如果我从selectboxa和selectboxb中选择了多个值。我收集全局数组中的选定值

重要提示:如果我从selectboxa或selectboxb中选择值没有问题,但如果我从selectboxa和selectboxb中交替选择,则会产生问题

问题:在保存时,我从数组中收集所选值,如果我从selectboxa中选择4个值,然后从SelectBoxB中选择3个值,或者像这样,我会更改,最后它包含全局数组中的所有值,但我不希望像这样只使用一个全局数组,并分别获取selectboxa值和SelectBoxB值,同时这是可能的


如果有任何疑问,请告诉我。

我想我知道你想要什么

var globalObject = {
  selecta:[],
  selectb:[]
}
function setSel(sel) {
  globalObject[sel.name].length=0;
  for (var i=sel.selectedIndex, n=0;i<sel.options.length;i++) {
    if (sel.options[i].selected) globalObject[sel.name][n++]=sel.options[i].value;
  }
}

<select name="selecta" onChange="setSel(this)">
.
.
.
<select name="selectb" onChange="setSel(this)">
也许是这样吧

var globalArray = [];

function setSel(theForm) {
  var sela = form.selecta;
  var selb = form.selectb;
  globalArray.length=0;
  for (var i=0, n=0;;i++) {
    if (sela.options.length<i && sela.options[i].selected) globalArray[n++]="a."+i+":"+sela.options[i].value;
    if (selb.options.length<i && selb.options[i].selected) globalArray[n++]="b."+i+":"+selb.options[i].value;
   }
}

<select name="selecta" onChange="setSel(this.form)">
.
.
.
<select name="selectb" onChange="setSel(this.form)">

请合理安排你的帖子格式。你有什么问题?以“问题”开头的一段似乎并没有描述一个问题。而且,多年来一直没有对大写字母征税。您可以在问题中使用正常英语语法所需的任意数量的数组。即使在尝试修复拼写和某些语法后,我仍然不明白为什么只声明一个数组?如果需要分别保存两个选择框中的选定值,请声明两个数组。