使用Id关联现有阵列

时间:2017-08-13 01:49:22

标签: javascript jquery arrays html-select

我在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])
}

有人可以帮助我吗?

非常感谢!

1 个答案:

答案 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]);