我在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])
}
有人可以帮助我吗?
非常感谢!
答案 0 :(得分:1)
我不确定,但我认为id不能像j那样引用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]);