关于js控制下拉框的选项值(技术挑战)

Js: var op = 子窗口对象.document.getElementById("sj"); // "sj"为弹出窗口处的下拉框的名陈
op.options[op.options.length]=new Option('g','g');
//我想要实现的是,用户点击某链接,然后弹出一个对话框,同时把值付给下拉框,在窗口没有关闭时一直往此窗口的 下拉框中赋值,我想用上面的js来写,可就是不行,不知道各位兄弟有没有不同的想法

[b]问题补充:[/b]
你的方法好像不行,我想要实现的功能是如果是第一次点击某链接,就打开窗口,并且把相应值赋给 弹出页面的下拉框,在点连接如果弹出窗口未关闭,则继续往下拉框赋值。。。。要实现这种功能应该怎么样实现比较好能
[b]问题补充:[/b]
用cookie是个不错的想法,如果用这个的话,那是不是要捕获关闭子窗口的事件,用来清空cookie。但是每隔一段时间去读,不太好,会平凡访问数据库;你看这样行不,读一次后马上清空,这样可以保证cookie中只有一条记录
[b]问题补充:[/b]
要是一次性读取的话,效率不是很好,我采用一次读,读后就清除,不过就是得不到最新值,也就是得到前一次的数据,但是要是弹出一个提示框就可以得到最新值,不知道原因出现在哪

看了你的代码,自己写了一个精简的,试了一下,发现IE里面报错,Firefox里面正常,看来这个有可能是IE的问题,我再试试

window.open()与window.showModalDialog()的区别
1、焦点:模式对话框会获得焦点,模式对话框没有关闭的时候,是不能访问父窗口的
2、程序的执行流程:模式对话框会影响程序的执行流程,showModalDialog之后的代码在关闭模式对话框之后才会执行。
3、返回值:window.open()的返回值是开启的窗口的引用,window.showModalDialog()的返回值是子窗口的window.returnValue属性

可以试一下通过URL方式把值传过去,然后赋值到js的变量里面

[code="java"]
<%
String value=request.getParameter("name");
%>

var value=<%=value%> //再写往op里面加选项的代码

[/code]

[code="java"]op.options[op.options.length]=new Option('g','g');
你的lenght貌似没+1吧

[/code]

一直赋值,赋的是什么东西,有间隔时间吗?
这个地方,想通过父窗口传值肯定是实现不了的,只能想办法把要传过去的东西放到某个地方(比如cookie,或者以字符串的形式跟在url的后面),然后子窗口去取,通过子窗口使用setInterval就可以不停的赋值进去了

数据访问能不能放到子窗口中?这样就不存在传值的问题了

父窗口一次性取出数据,放到cookie,子窗口使用完毕之后就可以清理了,不需要使用关闭事件;或者将清理代码直接写到showModalDialog的后面,清理代码会在窗口关闭之后执行