动态填充同一页面上其他两个选择的选择

竿

我的页面上有3个选择。填充两个选择,第三个是空选择。

我想将填充的选择动态组合到空选择中,并使用optgroup将它们分开。

从超级选择中选择一个选项后,我希望其他选择自动将其自身设置为选择的任何一个。并且未选择的选择应设置为空白选项。

有哪些不同的方法可以解决此问题?

可用资源:jQuery

<select id="sel1"></select>
<select id="source1"><option value="srcOne">Source One</option></select>
<select id="source2"><option value="srcTwo">Source Two</option></select>

Here's the desired result:

<select id="sel1">
    <optgroup label="Group 1">
        <option value="srcOne">Source One</option>
    </optgroup>
    <optgroup label="Group 2">
        <option value="srcTwo">Option Two</option>
    </optgroup>
</select>    


JSFiddle工作

马特斯疯狂

也许我快速编写的代码可以帮助您建立更好的解决方案。

JSFiddle

HTML:

<select id="main">
    <option>Not updated</option>
</select>
<select id="source1" data-name="Source 1">
    <option value="0"></option>
    <option value="srcOne1">Source One - Option 1</option>
    <option value="srcOne2">Source One - Option 2</option>
</select>
<select id="source2" data-name="Source 2">
    <option value="0"></option>
    <option value="srcTwo1">Source Two - Option 1</option>
    <option value="srcTwo2">Source Two - Option 2</option>
    <option value="srcTwo3" selected>Source Two - Option 3 (default selected)</option>
    <option value="srcTwo4">Source Two - Option 4</option>
</select>

JS:

$(document).ready(function (){

    $('#main').html('');

    $('#source1, #source2').each(function (){

        var optgroup = $('<optgroup label="'+$(this).data('name')+'"></optgroup>');
        var sourceId = $(this).attr('id');

        $(this).find('option').each(function (){

            if($(this).val() !== '0'){

                var option = $(this).clone();                
                $(option).data('source-id', sourceId);
                $(optgroup).append(option);
            }
        });

        $('#main').append(optgroup);
    });

    $('#main').on('change', function (){

        var selectedOption = $('option[value="'+$(this).val()+'"]');      

        $('#source1, #source2').val('0');
        $('#'+$(selectedOption).data('source-id')).val($(this).val());
    }).trigger('change');
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动态填充同一页面上其他两个选择的选择

来自分类Dev

Material2 - 同一页面上的两个动态 md-table,不起作用

来自分类Dev

Bootstrap动态输入选择-同一页面上的多个

来自分类Dev

如何为同一页面上的两个表单定义唯一的validateForm?

来自分类Dev

如何在同一页面上呈现两个菜单?

来自分类Dev

是否可以在同一页面上运行两个不同版本的ReactJS?

来自分类Dev

同一页面上的两个Angular2组件

来自分类Dev

Apex-同一页面上的两个按钮,分支到不同的位置

来自分类Dev

React Router问题:React在同一页面上渲染两个组件

来自分类Dev

使用react-hook-form在同一页面上添加两个表单

来自分类Dev

在ChakraUI中使用useDisclosure()无法在同一页面上使用两个模式

来自分类Dev

提交在同一页面上呈现的两个不相关的表单

来自分类Dev

Inno Setup禁用同一页面上的两个按钮

来自分类Dev

我希望同一页面上的两个Flexslider以不同的速度运行

来自分类Dev

验证同一页面上的两个表单

来自分类Dev

同一页面上的两个不同的Yammer共享按钮

来自分类Dev

Angular两个应用程序在同一页面上

来自分类Dev

如何在同一页面上放置两个幻灯片框?

来自分类Dev

Python请求-在同一页面上发送两个请求?

来自分类Dev

同一页面上的两个圆环图

来自分类Dev

同一页面上的两个 Promise.all()

来自分类Dev

在同一页面上的两个输入(差异ID)上的两个自动完成

来自分类Dev

在同一页面上的两个输入(差异ID)上的两个自动完成

来自分类Dev

在同一页面上创建同一地图的两个副本

来自分类Dev

在一页上使用两个引导国家选择器 - 不要填充

来自分类Dev

如何将具有不同模块的两个图表放在同一页面上?

来自分类Dev

同一页面上两个不同控制器的Angularjs双向绑定字段

来自分类Dev

在同一页面上的两个对象上的Rails will_paginate不起作用

来自分类Dev

在同一页面上的两个对象上的Rails will_paginate不起作用

Related 相关文章

  1. 1

    动态填充同一页面上其他两个选择的选择

  2. 2

    Material2 - 同一页面上的两个动态 md-table,不起作用

  3. 3

    Bootstrap动态输入选择-同一页面上的多个

  4. 4

    如何为同一页面上的两个表单定义唯一的validateForm?

  5. 5

    如何在同一页面上呈现两个菜单?

  6. 6

    是否可以在同一页面上运行两个不同版本的ReactJS?

  7. 7

    同一页面上的两个Angular2组件

  8. 8

    Apex-同一页面上的两个按钮,分支到不同的位置

  9. 9

    React Router问题:React在同一页面上渲染两个组件

  10. 10

    使用react-hook-form在同一页面上添加两个表单

  11. 11

    在ChakraUI中使用useDisclosure()无法在同一页面上使用两个模式

  12. 12

    提交在同一页面上呈现的两个不相关的表单

  13. 13

    Inno Setup禁用同一页面上的两个按钮

  14. 14

    我希望同一页面上的两个Flexslider以不同的速度运行

  15. 15

    验证同一页面上的两个表单

  16. 16

    同一页面上的两个不同的Yammer共享按钮

  17. 17

    Angular两个应用程序在同一页面上

  18. 18

    如何在同一页面上放置两个幻灯片框?

  19. 19

    Python请求-在同一页面上发送两个请求?

  20. 20

    同一页面上的两个圆环图

  21. 21

    同一页面上的两个 Promise.all()

  22. 22

    在同一页面上的两个输入(差异ID)上的两个自动完成

  23. 23

    在同一页面上的两个输入(差异ID)上的两个自动完成

  24. 24

    在同一页面上创建同一地图的两个副本

  25. 25

    在一页上使用两个引导国家选择器 - 不要填充

  26. 26

    如何将具有不同模块的两个图表放在同一页面上?

  27. 27

    同一页面上两个不同控制器的Angularjs双向绑定字段

  28. 28

    在同一页面上的两个对象上的Rails will_paginate不起作用

  29. 29

    在同一页面上的两个对象上的Rails will_paginate不起作用

热门标签

归档