select下拉框多选,增加/删除效果

2018-05-12 建站知识 浏览 手机预览
文章来源:http://www.imtr.cn/html/n200.html

演示效果:

代码如下:

<html>
<head>
<script language="JavaScript">
function Dsy() {
    this.Items = {};
}
Dsy.prototype.add = function(id, iArray) {
    this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id) {
    if (typeof(this.Items[id]) == "undefined") return false;
    return true;
}
function change(v) {
    var str = "0";
    for (i = 0; i < v; i++) {
        str += ("_" + (document.getElementById(s[i]).selectedIndex));
    };
    var ss = document.getElementById(s[v]);
    with(ss) {
        length = 0;
        //options[0] = new Option(opt0[v], opt0[v]);
        if (dsy.Exists(str)) {
            ar = dsy.Items[str];
            for (i = 0; i < ar.length; i++) options[length] = new Option(ar[i], ar[i]);
            if (v) options[0].selected = true;
        }
        if (++v < s.length) {
            change(v);
        }
    }
}
var dsy = new Dsy();
dsy.add("0", [
"北京市",
"湖南省",
"河北省",
"河南省",
]);
dsy.add("0_0",["北京大学1", "北京大学2", "北京大学3", "北京大学4", "北京大学5", "北京大学6", "北京大学7"]);
dsy.add("0_1",["长沙大学1", "长沙大学2", "长沙大学3", "长沙大学4", "长沙大学5"]);
dsy.add("0_2",["石家庄大学1", "石家庄大学2", "石家庄大学3", "石家庄大学4"]);
dsy.add("0_3",["郑州大学1", "郑州大学2", "郑州大学3", "郑州大学4", "郑州大学5", "郑州大学6", "郑州大学7"]);
 
var s = ["s1", "s2"];
//var opt0 = ["请选择城市","选择学校"];
function setup() {
    for (i = 0; i < s.length - 1; i++) document.getElementById(s[i]).onchange = new Function("change(" + (i + 1) + ")");
    change(0);
}
</script>
</head>
<body>
<select name="lz_sf" id="s1" style="min-width:150px;"></select>
<p>
<select name="lz_sx" size="10" id="s2" style="min-width:150px;"></select>
<script language="javascript">
setup();
function add() {
    var lz_sf = document.getElementsByName("lz_sf")[0].value;
    var lz_sx = document.getElementsByName("lz_sx")[0].value;
    var ss = lz_sx;
    var select = document.getElementById('city');
    for (var i = 0; i < select.length; i++) {
        if (select[i].innerHTML == ss) {
            alert("你已经选择过该院校了,不能重复选择!");
            return false;
        }
    }
    var obj = document.getElementById('city');
    obj.options.add(new Option(ss, ss))
}
function removeOne() {
    var obj = document.getElementById('city');
    var index = obj.selectedIndex;
    obj.options.remove(index);
}
</script>
<input type="button" onclick="add()" value="添加" />
<input type="button" onclick="removeOne()" name="button" id="button" value="删除" />
<select name="city" id="city" size="10" style="min-width:150px;"></select>
</body>
</html>


原文地址:http://www.imtr.cn/html/n200.html
  • 如果你的问题还没有解决,可以点击页面右侧的“ ”,站长收到问题后会尽快回复解决方案到你的邮箱。
  • 创造始于问题,有了问题才会思考,有了思考,才有解决问题的方法,才有找到独立思路的可能。 —— 陶行知