我们知道,DropDownList下拉框是一个服务器控件,有时候,有些朋友为了方便绑定DropDownList下拉框的选项,但又想在DropDownList实现客户端的下拉事件,那该怎么实现呢?
如果要想给 DropDownList 服务器控件添加客户端下拉事件,我们可以强制给它添加 onchange 事件,尽管在控件中没有这个方法的提示。添加完这个事件还不能达到目的,还要设置 AutoPostBack 属性为 false,不让它回发后台事件。
以下就是为大家分享的代码:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DropDownList添加客户端下拉事件</title>
<script type="text/javascript">
function getDropDownList() {
var ddl1 = document.getElementById("<%=ddl1.ClientID%>");
var text = ddl1.options[ddl1.options.selectedIndex].text; //获取text值
var value = ddl1.value; //获取value值
alert("Text:" + ddl1.options[ddl1.options.selectedIndex].text + ", Value:" + ddl1.value);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="ddl1" runat="server" AutoPostBack="false" onchange="getDropDownList();">
<asp:ListItem Text="T1" Value="V1" Selected="True"></asp:ListItem>
<asp:ListItem Text="T2" Value="V2"></asp:ListItem>
<asp:ListItem Text="T3" Value="V3"></asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>
总结一下,也就是说,要想给DropDownList下拉框添加客户端下拉事件,必须做两步工作,一是添加强制onchange事件,二是把 AutoPostBack属性设为false,就是这么简单! |