javascript - 根据另一个选择器中的值动态填充一个选择器

标签 javascript jquery twitter-bootstrap drop-down-menu

我有一个 html/css Bootstrap 界面,如下所示:

enter image description here

当用户从左侧的灰色选择器中选择一个选项时,我希望右侧的蓝色选择器填充一组相应的 json 变量。

换句话说,如果用户选择左侧的“天文学”主题,我希望蓝色选择器填充“星星”、“行星”、“月亮”等类名。

这是我的选择器的设置方式:

 <div id="course1">
               <center>
                <select class="selectpicker show-menu-arrow" data-style="btn-inverse" data-size="7" data-width="300px">
        
                <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
                <script type="text/javascript">

                var json = {
                    "courseSubject1": "Accountancy",
                    "courseSubject2": "American Studies",
                    "courseSubject3": "Anatomy & Regenerative Biology",
                    "courseSubject4": "Anesthesiology"
                  
                };

                $.each(json, function(key, value) {
                    $('.selectpicker').append('<option value="' + key + '">' + json[key] + '</option>');
                })

                  </script>
                </select>
                 
                 
                <select class="selectpicker" data-style="btn-primary" data-width="600px">
                <option>Stars</option>
                <option>Planets</option>
                <option>Moons</option>
                </select>

如何根据灰色选择器中选择的选项动态填充蓝色选择器?

最佳答案

将更改事件处理程序添加到蓝色选择输入。当它发生变化时,它将清空灰色选择,然后向其中添加每个新选项:

$('.blue-select').on('change', function() {
  // If you want to conditionally populate your list
  // you may need to get the selected options like this:
  // $(this).find("option:selected").val()
  $('.grey-select').empty();
  $.each(json, function(key, value) {
     $('.grey-select').append('<option value="' + key + '">' + value + '</option>');
  })
});

关于javascript - 根据另一个选择器中的值动态填充一个选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34669770/

相关文章:

javascript - $(window.document).ready(function () { ... } 还没准备好?

CSS使用另一个类的颜色?

html - 当浏览器窗口缩小时,Bootstrap 网页无法正确显示

javascript - jQuery - 从按钮组获取事件按钮(输入类型 = "radio")

javascript - Masonry JS 在加载图像之前初始化

javascript - 转义 CSS 类选择器中的字符

javascript - 过滤数据 - 如何在 JavaScript 中过滤不需要的数据

jquery - jqGrid - 保存复选框选定状态

javascript - 如何将选择元素的值和文本移动到另一个选择元素

javascript - jquery deferred - 等到两个调用完成