从asp.net c弹出窗口刷新父下拉列表

时间:2014-10-29 05:43:00

标签: javascript c# asp.net popupwindow

我的父页面中有一个dropdwnlist控件 - ASP.NET C#,点击按钮后会有一个弹出窗口向控件添加新值。

                                                                                 [+]

在PopUp页面 - 保存按钮中,我有以下代码:

Response.Write("<script>opener.loadOptionLandlord('" + stid  + "','" + strLandlorconn_dbame + "');</script>");
Response.Write("<script>window.close();</script>");

其中loadOptionLandlord是我父页面中的一个函数:

function loadOptionLandlord(val,txt)
        {
            var opt = document.createElement('<option value="'+ val +'">');
            opt.innerText = txt;
            var sCtrl = document.getElementById('<%= ddlLandlord.ClientID %>');

            sCtrl.options[sCtrl.options.length] = new Option(txt, val, false, true);

        }

该值正在保存到数据库,弹出窗口正在关闭,但新添加的数据未在下拉列表中刷新。 这适用于IE,但不适用于Chrome。

请帮助..

2 个答案:

答案 0 :(得分:0)

你可以查看这个功能吗?

function loadOptionLandlord(val,txt)
        {
            // Those create element not needed and its a wrong 
            // because you directly add option to select
            //var opt = document.createElement('<option value="'+ val +'">');
           // opt.innerText = txt;
            var sCtrl = document.getElementById('<%= ddlLandlord.ClientID %>');

            sCtrl.options[sCtrl.options.length] = new Option(txt, val, false, true);

        }

这是在下拉列表JS BIN

上添加选项的示例js

答案 1 :(得分:0)

将您的loadOptionLandlord更改为

function loadOptionLandlord(val,txt)
        {
            var opt = document.createElement("option");            
            var sCtrl = document.getElementById('<%= ddlLandlord.ClientID %>').options.add(opt);
            opt.text = txt;
            opt.value = val;
}