首页 > 解决方案 > 在 ddl2 选择中获取最接近的 ddl1(dropdownlist 1) 类

问题描述

下面的示例代码显示了一个包含两个子 div 的 div(一个表格单元格)。第一个子 div 包含 ddl1,第二个子 div 包含 ddl2。

当我选择 ddl2 时,我需要获取c-drpdwn-grade" + i + "" + j + "ddl1 的类。假设 ifi=0j=1,类名将是c-drpdwn-grade01。由于主 div 是一个表格单元格,因此需要在第二个 div(ddl2) 上获取所选下拉列表中最接近的 ddl1 类。

$('.innerdiv' + i).append(
"<div class='d-flex border-btm job-dtls-clm'>\
    <div class='d-flex-lft c-drpdwn-no-block'>\
        <select id='user_grade' class='c-drpdwn-grade c-drpdwn-grade" + i + "" + j + "'></select>\
    </div>\
    <div class='d-flex-rgt c-drpdwn-block'>\
        <select id='resources_dropdown' class='c-drpdwn-resrs-new c-drpdwn-resrs"+ i + "" + j + "' data-select-search='true'>\
            <option></option>\
        </select>\
    </div>\
</div>");

下拉更改代码:

.on("select2:select", function (e) {
    console.log($(this).closest('#user_grade'));        
    //$(this).closest('#user_grade').val(1).trigger('change');
    //$('.c-drpdwn-grade01').val(1).trigger('change')
});

标签: javascriptjquery

解决方案


最接近的父 div.job-dtls-clm包含两个选择,然后在其中找到第一个选择

.on("select2:select", function (e) {
    console.log($(this).closest('.job-dtls-clm')).find('select:nth-child(1)')
});

另一种方式,您可以在 select 中设置ji作为数据属性。使用此属性数据,您可以轻松找到类名

    <select data-ij = "+ i + "" + j + "'>\
        <option></option>\
    </select>\

    .on("select2:select", function (e) {
        var dataIj = $(this).attr('data-ij')
        console.log('c-drpdwn-grade' + dataIj) //searched class name          

    });

推荐阅读