javascript - 在下拉列表中填充值

标签 javascript

我需要使用 javascript/jquery 创建下拉菜单

第一个下拉列表中的值应如下所示:

<option value="0">Select</option>
<option value="1">Occ1</option>
<option value="2">Occ2</option>

仅当从第一个下拉列表中选择的值是其他选择时,才应显示第二个下拉列表

<option value="0">Select</option>
<option value="11">subOcc1</option>
<option value="12">subOcc2</option>

仅当从第二个下拉列表中选择的值不是“选择”时,才应显示第三个下拉列表

<option value="0">Select</option>
<option value="111">superSubOcc1</option>
<option value="112">superSubOcc2</option>
<option value="113">superSubOcc3</option>
<option value="114">superSubOcc4</option>

有人可以帮我解决这个问题吗?

最佳答案

希望这对你有用。

HTML

<select id="select1">
    <option value="0">select</option>
</select>
<br/>
<select id="select2">
    <option value="0">select</option>
</select>
<br/>
<select id="select3">
    <option value="0">select</option>
</select>

JS

for (var key in data) {
    $("#select1").append('<option value="' + key + '">' + data[key].name + '</option>');
}

$("#select1").change(function () {
    $('#select2').find('option').filter(function () {
        return $(this).val() != '0';
    }).remove();

    $('#select3').find('option').filter(function () {
        return $(this).val() != '0';
    }).remove();

    var currentSelect = $(this).val();
    var currentOccupation = data[currentSelect].occupation;
    for (var key in currentOccupation) {
        $("#select2").append('<option value="' + key + '">' + currentOccupation[key].name + '</option>');
    }

});


$("#select2").change(function () {
    $('#select3').find('option').filter(function () {
        return $(this).val() != '0';
    }).remove();

    var currentSelect1 = $("#select1").val();
    var currentSelect2 = $(this).val();
    var currentOccupation = data[currentSelect1].occupation[currentSelect2].occupation;

    for (var key in currentOccupation) {
        $("#select3").append('<option value="' + currentOccupation[key].occCode + '">' + currentOccupation[key].name + '</option>');
    }

});

关于javascript - 在下拉列表中填充值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31035514/

相关文章:

javascript - 将 href 缓和到网站的 div/部分

javascript - 通过 iframeElement.contentDocument.body 访问时的 iframe 主体是一个空节点

javascript - Stripe .js : stripeToken not sent

javascript - body 加载完成时触发事件 js/jquery

javascript - 如何防止自定义光标移动字母?

javascript - 从回调转换后的 Ember.js

javascript - React - 更新渲染内容的正确方法

javascript - 无法将文本分配给 Node 中的常量

javascript - ng-init 或 ng-bind 不适用于示例代码

javascript - Aurelia 绑定(bind)到滑动条