Используйте Id, чтобы связать существующий массив
У меня есть вопрос (и проблема) в JavaScript.
Я хочу использовать идентификатор для списка опций:
<select id="map_select">
<option value="1" id="test1" >Test 1</option>
<option value="2" id="test2" >Test 2</option>
</select>
И свяжите этот идентификатор с существующим массивом в 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])
}
Пожалуйста, кто-нибудь может мне помочь?
Большое спасибо!
1 ответ
Решение
Я не уверен, но я думаю, что идентификатор не может быть связан со структурой данных в JS, просто так.
Вы можете попробовать использовать словарь на месте.
var test= {
"test1":["blabla 1","blabla 2"],
"test2":["blabla 1","blabla 2"]
};
При использовании вы можете просто найти свой идентификатор в качестве ключа к словарю.
var selec = $('#map_select option:selected').attr('id');
console.log(test[selec]);