这是我目前使用的Javascript,用于选择要在弹出窗口中显示的Monitor选择值:
var theMonitor = document.getElementById("ctl00_ContentPlaceHolder1_MonitorInductionDDL");
var strUser = theMonitor.options[theMonitor.selectedIndex].text;
这是实际的下拉列表代码:
<tr>
<td nowrap="nowrap" style="width:132px">
Monitor?</td>
<td nowrap="nowrap" style="width:464px">
<asp:DropDownList ID="MonitorInductionDDL" runat="server" Height="25px"
Width="334px" >
<asp:ListItem Selected="True" Value="0">Yes</asp:ListItem>
<asp:ListItem Value="1">No</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
这是我的VB.NET代码,用于指定要显示的值(以及我认为它应该做的事情):
Dim Upload As Button
Upload = e.Row.FindControl("UpdateInduction")
Cell1 = e.Row.DataItem("Description").ToString
Cell2 = e.Row.DataItem("Id").ToString
Cell3 = e.Row.DataItem("Monitor").ToString
Upload.OnClientClick = String.Format("Javascript:ShowPopup('uploadPopup', '{0}', '{1}', '{2}');", Cell1, Cell2, Cell3)
这是弹出窗口的图片:
您可能已经注意到我在后台点击了“更新”按钮,可以通过“辞职”中的更新按钮触发此弹出窗口。监视器所在的行是“否”&#39;但这显示为是......
所以我的问题是,如何让弹出窗口Monitor
中的Dropdownlist成为该列中任何内容的值?
老实说,我不知道我在哪里出错了这么快的帮助和指导会很好,谢谢你。
答案 0 :(得分:1)
我认为错误在第二行,您从ddl的选定文本中获取值。但你必须为它设置值,如下所示。
而不是
var theMonitor = document.getElementById("ctl00_ContentPlaceHolder1_MonitorInductionDDL");
var strUser = theMonitor.options[theMonitor.selectedIndex].text;
将以下代码
function showpopup(str1,str2,str3)
{
var theMonitor = document.getElementById("ctl00_ContentPlaceHolder1_MonitorInductionDDL");
theMonitor.options[theMonitor.selectedIndex].text= str3;
}
答案 1 :(得分:0)
添加JavaScript调试器断点以检查单击网格后获得的值。如果你得到“没有”&#39;并且仍然无法将下拉菜单的选定文本/值设置为“否”&#39;,请确保没有前导/尾随空格。
我遇到了这种情况。