javascript - 嵌套选项不打印所有路径

标签 javascript angularjs html-select

当我单击一个选项时,选择仅显示选项值。有没有办法在 Angular 中显示带有嵌套选项的选择的完整路径?

<select>
    <optgroup label="A">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </optgroup>
    <optgroup label="B">
        <option>4</option>
        <option>5</option>
        <option>6</option>
    </optgroup>
</select>

例如,如果我选择选项 5,标准选择将仅显示值“5”。我想要“B/5”。

最佳答案

好吧,我不知道如何正确地做到这一点,但我想出了一个解决方法。

$(function()
{
   $('select').change(changed);
});

function changed()
{   

    var y = $(this).val();
    
    var x = $($($($(this).find("option")).filter(function() {return $(this).text() === y;})).parent()).attr('label');
    console.log(x);
    
    $('#test').text(x + ' / ' + y);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select>
    <optgroup label="A">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </optgroup>
    <optgroup label="B">
        <option>4</option>
        <option>5</option>
        <option>6</option>
    </optgroup>
</select>
<div id="test"></div>

为了分解它,我们将选定的值分配给变量 y。然后我们获取选择输入并找到其子级 $(this).find("option") 然后我们对其进行过滤,查找与所选输入相同的文本 $ ($(this).find("option")).filter(function() {return $(this).text() === y;}) 然后我们选择它的父级(optgroup)然后是其标签的值。

关于javascript - 嵌套选项不打印所有路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33277239/

相关文章:

javascript - 生成 YouTube 自定义播放列表问题

javascript - 指令中的 Angular 条件模板;基于将范围变量与 promise 隔离的决策

javascript - 第二个下拉菜单内容依赖于第一个下拉菜单

javascript - 模块构建失败 : Error: Cannot find module '@babel/core'

javascript - 如何在 jquery 上并排区分 mouseout/leave 事件?

javascript - 获取下拉菜单的 Angular 值

javascript - 使用 jQuery 更改选项的文本

javascript - 使用 jQuery 将选择框添加到 html

javascript - 将鼠标悬停在 JavaScript 列表项上时如何创建暂停或延迟?

python - AngularJS request.POST 返回 QueryDict : {}