问题描述
从http://blog.csdn.net/mdcmy/article/details/9272949#t0中下载了一个支持拼音搜索的下拉列表,觉得功能不错,于是想自己拿来使用,用服务器DropDownList控件替代select的html控件。基本功能是从下拉列表中选择选项,按下button后取得列表框的值,用label显示出来进行后续处理。但问题是为什么按下button后下拉列表还是原来的第一选择,label值为空。第二次按下button时,label的值才正确显示我选择的值。但下拉列表总是选择的第一项内容,并不是我原来的选择。请教如何解决?html代码:<headrunat="server"><title></title><linkhref="css/selectbox.css"type="text/css"rel="stylesheet"/><scripttype="text/javascript"src="js/jquery-1.4.min.js"></script><scripttype="text/javascript"src="js/changtopy.js"></script><scripttype="text/javascript"src="js/getpyszm.js"></script><scripttype="text/javascript"src="js/jquery.singleselect.js"></script><scripttype="text/javascript">$(function(){//单选下拉列表$("#test").singleSelect({width:"200px"});});functiongetSelectVal(){varv=$("#test").getsingleSelectValue()document.getElementById("MyValue").value=v;//alert($("#test").getsingleSelectValue());}</script></head><body><formid="form1"runat="server"><inputid="MyValue"type="hidden"runat="server"/><table><tr><td><asp:DropDownListID="test"runat="server"></asp:DropDownList></td><td><asp:ButtonID="Button1"runat="server"Text="Button"/></td><td><asp:LabelID="Label1"runat="server"Text=""></asp:Label></td></tr></table></form></body></html>后台代码:ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.LoadIfNotIsPostBackThenBind()EndIfEndSubPrivateSubBind()test.Items.Add("张三")test.Items.Add("李四")test.Items.Add("王五")EndSubPrivateSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.ClickButton1.Attributes.Add("onclick","returngetSelectVal();")Label1.Text=Request("MyValue")EndSub
解决方案
解决方案二:
服务器控件的ID在前台获取的时候应该是会变化的吧,看看你的界面有没有什么js错误。
解决方案三:
解决方案四:
我的程序如下显示:,没有发生什么错误,就是选好了其他姓名,按提交总是显示第一列“张三”
解决方案五:
调试下,光看很难看出问题。