2 qq 37830604 qq_37830604 于 2017.11.15 10:24 提问

请教大神,关于前端下拉框问题

例。第一个下拉框(a),选中第一个值(a.1)的时候onchange,移除第二个下拉框(b)的4 5 6。第一个下拉框选中第二个(a.2)的时候给第二个下拉框(b)添加 4 5 6 比如,下拉框b的值 有 1 2 3 4 5 6

3个回答

showbo
showbo   Ds   Rxr 2017.11.15 10:37
已采纳
 <select id="a">
    <option value="1">1</option>
    <option value="2">2</option>
</select>
<select id="b">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
</select>
<script>

    var a = document.getElementById('a'), b = document.getElementById('b');
    a.onchange = function () {
        var dp = this.value == '1' ? 'none' : '', re = /^[456]$/;
        for (var i = 0; i < b.options.length; i++) {
            if (re.test(b.options[i].value)) b.options[i].style.display = dp;
        }
        if (re.test(b.value)) b.selectedIndex = 0;
    }
    a.onchange();
</script>
qq_37830604
qq_37830604 抱歉,我没有说明白。抱歉
7 天之前 回复
qq_37830604
qq_37830604 还是不行,我贴下源代码吧。
7 天之前 回复
qq_37830604
qq_37830604 我先测试下,然后再结贴,谢谢
7 天之前 回复
vesion2008
vesion2008   2017.11.15 10:36

JSON或数组缓存数据来,当onchange触发时,根据逻辑填充联动数据加载到下拉框中即可。

qq_37830604
qq_37830604 select的值用的是枚举的,然后在JavaScript里面判断,然后决定添加或删除
7 天之前 回复
qq_37830604
qq_37830604 只是单纯的调用JavaScript的方法,然后删除一个下拉框的第4 5 6的数据而已
7 天之前 回复
qq_37830604
qq_37830604   2017.11.15 10:45

图片说明

qq_37830604
qq_37830604 if(select.value =='34') 不是这个==的问题。
7 天之前 回复
Csdn user default icon
上传中...
上传图片
插入图片