我的父页面中有一个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。
请帮助..
答案 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;
}