使用 jQuery 选择选项循环的问题

我正在使用 jQuery 循环遍历许多 Select Option html 元素,并且我可以让它一次工作一个,但是如果数据存储在 jQuery 元素中,我将难以访问数据。


例如我有这些 2 Select html 元素


var lList = $(".p1_lSelect");


var rList = $(".p1_rSelect");


我可以通过以下方式获得我想要的输出


$(".p1_lSelect option:selected").each(function() {

    selected = $(this).text(); //selected == "p1_lSelect_Data"

    console.log(selected);

});


$(".p1_rSelect option:selected").each(function() {

    selected = $(this).text(); //selected == "p1_rSelect_Data"

    console.log(selected);

});


//Console logs .p1_lSelect_Data and .p1_rSelect_Data as expected

我想要的是类似于以下内容的内容,以便我可以更改要输入循环的列表


function foo(){

    var lList = $(".p1_lSelect");

    var rList = $(".p1_rSelect");

    bar(lList);

    bar(rList);

}


function bar(list){

    $("list option:selected").each(function() {

        selected = $(this).text();

        console.log(selected);

    });

    //Console log does not print

}

我该怎么做呢?


慕少森
浏览 142回答 3
3回答

德玛西亚99

请根据您的结构尝试以下代码:function foo(){    var lList = $(".p1_lSelect");    var rList = $(".p1_rSelect");    bar(lList);    bar(rList);}function bar(list){    $(list).find("option:selected").each(function() {        selected = $(this).text();        console.log(selected);    });    //Console log does not print}

茅侃侃

您可以传递列表的名称并将其附加到选择器,如下所示:function foo(){    bar("p1_lSelect");    bar("p1_rSelect");}function bar(list){    $(`.${list} option:selected`).each(function() {        selected = $(this).text();        console.log(selected);    });    //Console log does not print}

慕村225694

使用find()方法:function bar(list) {    list.find("option:selected").each(function() {        console.log($(this).text());    });});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript