父窗口:
<form name=form1>
<select name=parentList>
<option>请选择
</select>
</form>子窗口:
<select onchange="writeParentList(this.value)">
<option>请选择
<option value=aaa>aaa
<option value=bbb>bbb
<option value=ccc>ccc
<option value=ddd>ddd
<option value=eee>eee
</select><script language=javascript>
function writeParentList(str)
{
if(top==window) return; //若该页没有被 frame 则跳出
if(str=="") return;
if(parent.document.form1.parentList)
{
e = parent.document.form1.parentList;
var newOP=new Option(str, str, true, true);
for(var i=0; i<e.options.length; i++) //不重复
if(e.options[i].value == str) return;
e.options[e.options.length] = newOP;
}
}
</script>
<form name=form1>
<select name=parentList>
<option>请选择
</select>
</form>子窗口:
<select onchange="writeParentList(this.value)">
<option>请选择
<option value=aaa>aaa
<option value=bbb>bbb
<option value=ccc>ccc
<option value=ddd>ddd
<option value=eee>eee
</select><script language=javascript>
function writeParentList(str)
{
if(top==window) return; //若该页没有被 frame 则跳出
if(str=="") return;
if(parent.document.form1.parentList)
{
e = parent.document.form1.parentList;
var newOP=new Option(str, str, true, true);
for(var i=0; i<e.options.length; i++) //不重复
if(e.options[i].value == str) return;
e.options[e.options.length] = newOP;
}
}
</script>
解决方案 »
- 将json数据中的某一条json[i],作为方法的参数传递,可行么?
- jQuery EasyUI中tab的单击刷新
- 侧栏式折叠菜单NavBar 怎么和数据库绑定?
- 一段js很奇怪,没见过的语法, 哪位帮分析解释下.
- javascript方法未被调用!急急急!
- javascript语法的一个问题
- 求 如何用JS屏蔽右键
- 请问用JS如何判断客户端已安装上网助手呢?
- 求职 jquery.js 和 jquery-1.10.2.min.js 冲突了怎么办?
- 请问有人能完全防止用户刷新页面吗? 包搬用鼠标单击刷新按钮,高分相送!
- 框架集里的页面怎么取得request值?----孟子E章请帮忙
- 如何做可以更改字体的回复框
<form name=form1>
<select name=parentList>
<option>请选择
</select>
</form>
<script language=javascript>
function writeParentList(str)
{
if(top==window) return; //若该页没有被 frame 则跳出
if(str=="") return;
if(document.form1.parentList)
{
e = document.form1.parentList;
var newOP=new Option(str, str, true, true);
for(var i=0; i<e.options.length; i++) //不重复
if(e.options[i].value == str) return;
e.options[e.options.length] = newOP;
}
}
</script>子窗口:
<select onchange="opener.writeParentList(this.value)">
<option>请选择
<option value=aaa>aaa
<option value=bbb>bbb
<option value=ccc>ccc
<option value=ddd>ddd
<option value=eee>eee
</select>
在父窗口你竟然还保留着 if(top==window) return; 所以你抄的代码不会很好执行
在子窗口里应该加上一个判断: 若子窗口不是被open出来的话你用opener对象会出错的.
所以我建议你在看代码的时候多消化消化, 不要想当然的写代码, 且写完后一定要自己测试通过才可以拿出来.父窗口:
<form name=form1>
<select name=parentList>
<option>请选择
</select>
</form>
<script language=javascript>
function writeParentList(str)
{
if(str=="") return;
if(document.form1.parentList)
{
e = document.form1.parentList;
var newOP=new Option(str, str, true, true);
for(var i=0; i<e.options.length; i++) //不重复
if(e.options[i].value == str) return;
e.options[e.options.length] = newOP;
}
}
</script><input type=button value=ok onclick="window.open('ttt.htm','meizz')">
子窗口:
<select onchange="if(window.name!='')opener.writeParentList(this.value)">
<option>请选择
<option value=aaa>aaa
<option value=bbb>bbb
<option value=ccc>ccc
<option value=ddd>ddd
<option value=eee>eee
</select>
<form name=form1>
<select name=parentList>
<option>请选择
</select>
</form>
<script language=javascript>
function writeParentList(str)
{
if(str=="") return;
if(document.form1.parentList)
{
e = document.form1.parentList;
var newOP=new Option(str, str, true, true);
for(var i=0; i<e.options.length; i++) //不重复
if(e.options[i].value == str) return;
e.options[e.options.length] = newOP;
}
}
</script><input type=button value=ok onclick="window.open('ttt.htm','meizz')">
子窗口:
<select onchange="if(window.name!='')opener.writeParentList(this.value)">
<option>请选择
<option value=aaa>aaa
<option value=bbb>bbb
<option value=ccc>ccc
<option value=ddd>ddd
<option value=eee>eee
</select>
var newOP=new Option(str, str, true, true);
后两个参数什么意思呀