JSP JS 急急急 急急急 急急急 急急急 急急急 急急急求大神解答 20C
 var region_init = function (_region_p, _region_c, _region_d, _region_p_default, _region_c_default, _region_d_default) {
    var region_p = document.getElementById(_region_p);
    var region_c = document.getElementById(_region_c);
    var region_d = document.getElementById(_region_d);
    function option_items_select(cmb, value) {
        for (var i = 0; i < cmb.options.length; i++) {
            if (cmb.options[i].value == value) {
                cmb.selectedIndex = i;
                return;
            }
        }
    }
    //附加value、text
    function option_items_add(cmb, value, text, obj, i) {
        var option = document.createElement("OPTION");
        cmb.options.add(option);
        option.innerText = text;
        option.value = value;
        option.obj = obj;
    }
    function region_c_change() {
        region_d.options.length = 0;
        if (region_c.selectedIndex == -1)return;
        var item = region_c.options[region_c.selectedIndex].obj;
        for (var i = 0; i < item.district.length; i++) {
            option_items_add(region_d, item.district[i].id, item.district[i].name, null, i);
        }
        option_items_select(region_d, _region_d_default);
    }

    function region_p_change() {
        region_c.options.length = 0;
        region_c.onchange = null;
        if (region_p.selectedIndex == -1)return;
        var item = region_p.options[region_p.selectedIndex].obj;
        for (var i = 0; i < item.city.length; i++) {
            option_items_add(region_c, item.city[i].id, item.city[i].name, item.city[i], i);
        }
        option_items_select(region_c, _region_c_default);
        region_c_change();
        region_c.onchange = region_c_change;
    }

    for (var i = 0; i < province_enum.length; i++) {
        option_items_add(region_p, province_enum[i].id, province_enum[i].name, province_enum[i]);
    }
    option_items_select(region_p, _region_p_default);
    region_p_change();
    region_p.onchange = region_p_change;
}

province_enum是中国省市区的集合

这段代码是什么意思

5个回答

应该是省市县三级联动,三个下拉框数据联动

danielinbiti
danielinbiti 回复qq_36333177: 代码只有2个相关点,一个动态创建select的option(也就是下拉框选项),另一个就是下拉框的change时间,触发change事件时,改变下级的数据加载(动态创建option)
2 年多之前 回复
u011126065
jasondyoung 回复qq_36333177: 不就是省改变,显示对应的市,市改变显示对应的县。上面不就是实现
2 年多之前 回复
qq_36333177
射雕英雄胤 回复danielinbiti: 我知道,我想知道怎么实现的
2 年多之前 回复

javascript省市县三级联动示例
给个简单的给你参考,实际就是操作select对象的options 这个dom集合
代码核心就这

         region_c.options.length = 0;  这句清空select的option

  function option_items_add(cmb, value, text, obj, i) {//向select中添加option
        var option = document.createElement("OPTION");
        cmb.options.add(option);
        option.innerText = text;
        option.value = value;
        option.obj = obj;
    }

下拉框的选择 每个省对应各自的市,每个市对应各自的县 选择省 在选择市 最后选择县

有html代码就更好了

三级下拉框的选择 选择省份跳出对应市,选择市跳出对应县,

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问