我需要获取一个下拉列表的ID(ASP.Net控件),以便可以判断是否已选择一项。
现在,我正尝试将下拉列表的计数写入警告框,如下所示:
OnClientClick="alert(document.getElementID('<%=ListBox1.ClientID %>').options.length)
我得到的错误是“需要文档”。
最佳答案
首先,让我们将代码中的getElementID
更正为getElementById
:
OnClientClick="alert(document.getElementById('<%=ListBox1.ClientID %>').options.length);"
如果您想知道选择了哪个项目,请使用
selectedIndex
属性:OnClientClick="alert(document.getElementById('<%=ListBox1.ClientID %>').selectedIndex);"
如果您想要选项的值而不是索引,请使用带有索引的options集合:
OnClientClick="var s=document.getElementById('<%=ListBox1.ClientID %>');alert(s.options[s.selectedIndex].value);"
编辑:
如果您尝试使用的控件不是服务器控件,则可以使用该控件,例如:
<input type="button" onclick="alert(document.getElementById('<%=ListBox1.ClientID %>').options.length);" />
由于具有服务器控件,因此不能在控件内部使用脚本标记()。您必须从后面的代码中设置属性:
TheButton.OnClientClick = "alert(document.getElementById('" + ListBox1.ClientID + "').options.length);";