父窗口与子窗口的问题。
父窗口中有一个下拉框,这个下拉框中的文字是从数据库中读出来的。下拉框的旁边有一个编辑按钮,当我点击它的时候,就会弹出一个子窗口,这个子窗口是用来修改下拉框中的文字。
当我选择下拉框的第三行文字时,发觉这行文字有错误,于是就点击编辑按钮修改它。
当在子窗口中输入需要的文字后,按提交按钮,update数据库,把旧数据更改为新数据。
现在有个大trouble,当我在子窗口中提交更改后的数据时,但父窗口中的下拉框原来选定的第三行文字却不能跟着更改为子窗口更改后的数据。
如果子窗口在提交数据时,同时刷新父窗口,需要父窗口下拉框选定第三行文字的信息却会丢失。
能不能实现,当我在子窗口中提交数据,父窗口中原来选定的第三行文字跟着变为子窗口提交后数据呢?

解决方案 »

  1.   

    ajax解决
    在父窗体的下拉框的数据通过xmlhttp得到,这假设是一个JavaScript的函数getData(),在body的onload的事件中调用.当子窗体提交成功之后,调用父窗体的getData()函数刷新下拉框如果是以open方式打开,在子窗体用window.opener.getData();
    如果以showModuleDialog打开,把父窗体window对象作为参数传到子窗体进行调用即可对AJAX不熟悉的话,自己找文章看看,很容易入手的
      

  2.   

    子窗口修改完毕,刷新父窗口时,带上修改的id传回父窗口父窗口中循环显示下拉列表时,当id=修改的记录时,selected
      

  3.   

    子窗口操作成功后返回一段js 将父窗口select框的当前选项值修改为新值
      

  4.   

    楼上说得对。不过在子窗提交之前就可以修改了。
    前提是你子窗数据一定能提交到数据库中。
    window.opener.formName.inputName[2].value='子窗数据';
    再提交子窗数据
      

  5.   

    子窗口修改完毕,刷新父窗口时,带上修改的id传回父窗口父窗口中循环显示下拉列表时,当id=修改的记录时,selected