select元素 onchange事件在IE下运行不正常,在Firefox下正常
<html><head><scripttype="text/javascript">functionselect1change(){vars=document.getEl...
<html>
<head>
<script type="text/javascript" >
function select1change() {
var s = document.getElementById("Select1");
var s2 = document.getElementById("Select2");
if (s.selectedIndex == 0)
s2.innerHTML = "<option>1</option>";
if (s.selectedIndex == 1)
s2.innerHTML = "<option>2</option>";
if (s.selectedIndex == 2)
s2.innerHTML = "<option>3</option>";
}
</script>
</head>
<body>
<select id="Select1" onchange="select1change()" >
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select id="Select2">
<option>1</option>
<option>11</option>
<option>111</option>
<option>1111</option>
</select>
</body>
</html>
IE下当Select1的SelectedIndex改变后,Select2成空的了。而Firefox运行正常。
哪位高手指点一下。 展开
<head>
<script type="text/javascript" >
function select1change() {
var s = document.getElementById("Select1");
var s2 = document.getElementById("Select2");
if (s.selectedIndex == 0)
s2.innerHTML = "<option>1</option>";
if (s.selectedIndex == 1)
s2.innerHTML = "<option>2</option>";
if (s.selectedIndex == 2)
s2.innerHTML = "<option>3</option>";
}
</script>
</head>
<body>
<select id="Select1" onchange="select1change()" >
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select id="Select2">
<option>1</option>
<option>11</option>
<option>111</option>
<option>1111</option>
</select>
</body>
</html>
IE下当Select1的SelectedIndex改变后,Select2成空的了。而Firefox运行正常。
哪位高手指点一下。 展开
3个回答
展开全部
在IE中的INNERHTML如果要中只能用替换字串的方式,很麻烦
function select1change() {
var s = document.getElementById("Select1");
var s2 = document.getElementById("Select2");
if (s.selectedIndex == 0){
var varItem = new Option('1', '1');
s2.options.add(varItem);
alert("成功加入");}}
用这种方式吧,追加,如果要是重新填加的话,就document.all.objSelect.options.length = 0清空一次!
另外,说点无关的,尽量养成写花括号的习惯!不然你的程序以后看起来会很乱,而且不便于重构!
function select1change() {
var s = document.getElementById("Select1");
var s2 = document.getElementById("Select2");
if (s.selectedIndex == 0){
var varItem = new Option('1', '1');
s2.options.add(varItem);
alert("成功加入");}}
用这种方式吧,追加,如果要是重新填加的话,就document.all.objSelect.options.length = 0清空一次!
另外,说点无关的,尽量养成写花括号的习惯!不然你的程序以后看起来会很乱,而且不便于重构!
展开全部
尊敬的用户,您好!很高兴为您答疑。
您这种基于html标准控件的二级联动,建议还是优先考虑使用jQuery进行数据改写。而IE下不支持的情况,可能是在IE下S2未被正确识别为对象所致。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
您这种基于html标准控件的二级联动,建议还是优先考虑使用jQuery进行数据改写。而IE下不支持的情况,可能是在IE下S2未被正确识别为对象所致。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是IE浏览器自身的问题,不是你的错.
楼主换个方式试试.
如果先删除select2中所有option.再添加新的option.
=======
<html>
<head>
<script type="text/javascript" >
function select1change() {
var s = document.getElementById("Select1");
var s2 = document.getElementById("Select2");
if (s.selectedIndex == 0) {
clear();
s2.options.add(new Option("1"));
return;
}
if (s.selectedIndex == 1) {
clear();
s2.options.add(new Option("2"));
return;
}
if (s.selectedIndex == 2) {
clear();
s2.options.add(new Option("3"));
return;
}
}
function clear() {
var s2 = document.getElementById("Select2");
for (var i = s2.options.length; i >=0; i--) {
s2.remove(i);
}
}
</script>
</head>
<body>
<select id="Select1" onchange="select1change()" >
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select id="Select2">
<option>1</option>
<option>11</option>
<option>111</option>
<option>1111</option>
</select>
</body>
</html>
楼主换个方式试试.
如果先删除select2中所有option.再添加新的option.
=======
<html>
<head>
<script type="text/javascript" >
function select1change() {
var s = document.getElementById("Select1");
var s2 = document.getElementById("Select2");
if (s.selectedIndex == 0) {
clear();
s2.options.add(new Option("1"));
return;
}
if (s.selectedIndex == 1) {
clear();
s2.options.add(new Option("2"));
return;
}
if (s.selectedIndex == 2) {
clear();
s2.options.add(new Option("3"));
return;
}
}
function clear() {
var s2 = document.getElementById("Select2");
for (var i = s2.options.length; i >=0; i--) {
s2.remove(i);
}
}
</script>
</head>
<body>
<select id="Select1" onchange="select1change()" >
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select id="Select2">
<option>1</option>
<option>11</option>
<option>111</option>
<option>1111</option>
</select>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询