jquery 使用ID关联现有阵列

xn1cxnb4  于 2023-06-29  发布在  jQuery
关注(0)|答案(1)|浏览(82)

我在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中的现有Array:

var test1 = ["blabla 1","blabla 2"]
var test2 = ["blabla 1","blabla 2"]

我在jQuery中做了一个尝试:

var selec = $('#map_select option:selected').attr('id');

但是当我在我需要的函数中使用它时(需要一个带有push,indexof...的数组),它没有引用我的数组:

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

有人能帮帮我吗
非常感谢!

9nvpjoqh

9nvpjoqh1#

我不确定,但我认为一个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]);

相关问题