javascript - 下拉列表中不显示任何数据的人口

标签 javascript jquery html

我编写了一个脚本,我需要根据使用 j-query 选择另一个下拉列表来填充下拉列表,但是当我选择第一个下拉列表时,另一个下拉列表不显示任何数据,如果我在某个地方出错,请帮助原谅我.!

script.html

<div class="form-group">
   <select id="json-one" class="form-control">  
     <option selected="" value="base">Please Select</option>  
     <option value="Doctor">Doctor</option>  
     <option value="Engineer">Engineer</option>  
     <option value="Lawyer">Lawyer</option>  
    </select> 
 </div>

<div class="form-group">
    <select id="json-two" class="form-control">  
        <option>Please choose from above</option>  
    </select>  
</div>


<script>
    var data = {
"Doctor":"General,specilist",
"Engineer":"Computers,electronic"
"Lawyer":"Civil,Criminal"
};
$("#json-one").change(function() {

                var $dropdown = $(this);

                //$.getJSON("data.json", function(data) {

                    var key = $dropdown.val();
                    var vals = [];

                    switch(key) {
                        case 'Doctor':
                            vals = data.Doctor.split(",");
                            break;
                        case 'Engineer':
                            vals = data.Engineer.split(",");
                            break;
                        case 'Lawyer':
                            vals = data.Lawyer.split(",");
                            break;
                        case 'base':
                            vals = ['Please choose from above'];
                    }

                    var $jsontwo = $("#json-two");
                    $jsontwo.empty();
                    $.each(vals, function(index, value) {
                        $jsontwo.append("<option>" + value + "</option>");
                    //});

                });
            });
    </script>

最佳答案

您的代码应该可以正常工作,但您需要注意两件事。

1:您应该有一个 data.json 文件。

2:data.json 中的 JSON 对象应该具有与您在 get JSON 的成功回调中使用它相同的结构

{
  "beverages": "coke,pepsi",
  "snacks":"chips,biscuit"
}

你可以在下面的插件中看到它的工作原理。

笨蛋:http://plnkr.co/edit/2dI09RIDuFGc9XMKXU1h?p=preview

关于javascript - 下拉列表中不显示任何数据的人口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38396201/

相关文章:

javascript - joint.setTheme 不是 JointJS-Rappid 中的函数

javascript - "Array to string conversion error"尝试获取字段值时

javascript - 将 JSON 值附加到Figcaption

jquery - CSS交替表行以在新表中重置?

android - 如何获得如下图所示的 View ?

html - 如何使用动态添加行的表格增加 div 高度?

javascript - 在 JavaScript 中真正保护数据成员(类/IIFE 变量)

javascript - React 博客网站的管理仪表板

javascript - 根据特定键值对 JavaScript 对象重新排序

html - bootstrap pull-right 添加额外空间