javascript全局数组问题
考虑一个场景 我有一个声明为全局的javascript数组 例如:javascript全局数组问题,javascript,Javascript,考虑一个场景 我有一个声明为全局的javascript数组 例如: var globalarray=new Array(); 接下来,我有两个多选择框 选择框A 选择框B selectbox中的所有选项值都是动态的, 如果我从selectboxa和selectboxb中选择了多个值。我收集全局数组中的选定值 重要提示:如果我从selectboxa或selectboxb中选择值没有问题,但如果我从selectboxa和selectboxb中交替选择,则会产生问题 问题:在保存时,我从数组中收集
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)">
请合理安排你的帖子格式。你有什么问题?以“问题”开头的一段似乎并没有描述一个问题。而且,多年来一直没有对大写字母征税。您可以在问题中使用正常英语语法所需的任意数量的数组。即使在尝试修复拼写和某些语法后,我仍然不明白为什么只声明一个数组?如果需要分别保存两个选择框中的选定值,请声明两个数组。