使用 Id 关联现有数组
Use an Id to associate an existing array
我在 JavaScript 中有一个问题(和一个问题)。
我想为选项列表使用 ID :
<select id="map_select">
<option value="1" id="test1" >Test 1</option>
<option value="2" id="test2" >Test 2</option>
</select>
并将此 ID 关联到 JavaScript 中的现有数组:
var test1 = ["blabla 1","blabla 2"]
var test2 = ["blabla 1","blabla 2"]
我在 jQuery 中尝试了一些东西:
var selec = $('#map_select option:selected').attr('id');
但是当我在我需要的函数中使用它时(需要一个带有 push、indexoff 的数组...),它没有引用我的数组:
function tabused(tab1, tab2){
var rand = Math.floor(Math.random()*tab2.length)
if(tab1.length <= tab2.length){
if (tab1.indexOf(rand) === -1) {
tab1.push(rand);
}
else if (tab1.indexOf(rand) > -1) {
while(tab1.indexOf(rand) > -1){
rand = Math.round(Math.random()*(tab2.length-1));
}
tab1.push(rand);
}
console.log(tab1)
}
$("#rules").text(tab2[rand])
}
有人能帮帮我吗?
非常感谢!
我不确定,但我认为 id 不能像那样引用到 js 中的数据结构。
您可以尝试使用字典。
var test= {
"test1":["blabla 1","blabla 2"],
"test2":["blabla 1","blabla 2"]
};
在使用时,您可以只搜索您的 id 作为字典的关键字。
var selec = $('#map_select option:selected').attr('id');
console.log(test[selec]);
我在 JavaScript 中有一个问题(和一个问题)。
我想为选项列表使用 ID :
<select id="map_select">
<option value="1" id="test1" >Test 1</option>
<option value="2" id="test2" >Test 2</option>
</select>
并将此 ID 关联到 JavaScript 中的现有数组:
var test1 = ["blabla 1","blabla 2"]
var test2 = ["blabla 1","blabla 2"]
我在 jQuery 中尝试了一些东西:
var selec = $('#map_select option:selected').attr('id');
但是当我在我需要的函数中使用它时(需要一个带有 push、indexoff 的数组...),它没有引用我的数组:
function tabused(tab1, tab2){
var rand = Math.floor(Math.random()*tab2.length)
if(tab1.length <= tab2.length){
if (tab1.indexOf(rand) === -1) {
tab1.push(rand);
}
else if (tab1.indexOf(rand) > -1) {
while(tab1.indexOf(rand) > -1){
rand = Math.round(Math.random()*(tab2.length-1));
}
tab1.push(rand);
}
console.log(tab1)
}
$("#rules").text(tab2[rand])
}
有人能帮帮我吗?
非常感谢!
我不确定,但我认为 id 不能像那样引用到 js 中的数据结构。
您可以尝试使用字典。
var test= {
"test1":["blabla 1","blabla 2"],
"test2":["blabla 1","blabla 2"]
};
在使用时,您可以只搜索您的 id 作为字典的关键字。
var selec = $('#map_select option:selected').attr('id');
console.log(test[selec]);