请各位大佬帮我修改一下代码,谢谢

从不吃馍 2017-10-13 05:34:38
是这样的,我希望一级联动框内默认显示的是第一个省份,也就是北京市。第二个联动框内默认显示的是北京相关的值,不要默认的“请选择城市","选择学校”,现在的代码直接运行之后会显示这两个,我希望把他们去掉,直接显示联动信息。

我的代码是这样的:
<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 - 1));
};
var ss = document.getElementById(s[v]);
with(ss) {
length = 0;
options[0] = new Option(opt0[v], opt0[v]);
if (v && document.getElementById(s[v - 1]).selectedIndex > 0 || !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[1].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>
...全文
121 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
从不吃馍 2017-10-13
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:

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);
}
谢大佬
天际的海浪 2017-10-13
  • 打赏
  • 举报
回复

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);
}

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧