jQuery的隐藏选择以前的值和onchange显示新值下拉

时间:2020-05-03 17:54:29

标签: jquery select drop-down-menu dropdown show-hide

我在jquery上遇到问题。我想隐藏选择值(先前的值),但是如果更改下拉列表,它将显示新值,并从所有下拉菜单中隐藏先前的值。

HTML下拉列表

<select class="gr-fields-select">
<option value="">Select</option>
<option value="18355">Product Management</option>
<option value="18356">QA</option>
<option value="18357">Sales</option>
<option value="98595">Support</option>
<option value="05223">Test group</option>
<option value="05224">Test group one user</option>
</select>
</div>

这是我的jquery功能

function hideSelectedValues(){
$("select").each(function(){
    let selectValue = $(this).val();
    if(selectValue == "Select" || selectValue == "") return;
    $(this).addClass("currentSelection");

    $("select").each(function(){
        if(!$(this).hasClass("currentSelection")){              
            let previousValue = $(this).val();                  
            $(this).find(`option[value='${previousValue}']`).hide();
        }
        else{
            $(this).on('change',function () {      //change and show newValue     
                let newValue = $(this).val();
                $(this).find(`option[value='${newValue}']`).show();
                $(this).find(`option[value='${previousValue}']`).hide();  //Error undefined
            });
        }

    });
    $(this).removeClass("currentSelection");
})
}

此功能不起作用。我无法从IF条件获取先前的值并在ELSE主体中传递先前的值以隐藏先前的值,但它给出了错误的先前值未定义

我在此功能中犯了什么错误?

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

foreach (var item2 in collections)
{
    Instantiate(child);
    child.transform.parent = thisParent.transform;

    ArchiveRow archiveRowComponent = child.GetComponentInChildren<ArchiveRow>();
    var myid = item2.collectionId;
    archiveRowComponent.archiveId = myid;

}