解析先前选择的下拉列表值

时间:2013-06-06 14:02:15

标签: javascript jquery asp.net

当我更改下拉列表的值时,如何在 javascript或jQuery 中获取下拉列表的上一个SELECTED值。

<asp:DropDownList ID="ddlTest" ....> 

我正在动态填充此下拉列表。

3 个答案:

答案 0 :(得分:1)

我不确定这是否是最好的方法,但您可以在下拉菜单中添加点击处理程序。单击下拉列表时,将当前值存储在变量中。然后在您的下拉更改功能中,您将该变量引用为先前选择的值。

编辑:请参阅@tymeJV示例。

答案 1 :(得分:1)

您可以设置click处理程序和change处理程序来捕获:

var old;
var newV;

$("#<%= ddlList.ClientID %>").click(function() {
    old = this.value;
});

$("#<%= ddlList.ClientID %>").change(function() {
    newV = this.value;
    console.log(newV);
    console.log(old);
});

演示:http://jsfiddle.net/tymeJV/ZG8cN/

答案 2 :(得分:0)

我能看到的最简单的方法是将页面加载的初始值存储在Javascript变量中,然后在选择更改时跟踪旧值:

<asp:Content runat="server" ID="FeaturedContent" ContentPlaceHolderID="FeaturedContent">
    <script type="text/javascript">
        $(document).ready(function () {
            var ddlTest_prevValue = "<%=ddlTest.SelectedValue %>";
            $("#<%=ddlTest.ClientID%>").change(function () {
                $("#prevValTxt").text("Previous value: " + ddlTest_prevValue);
                ddlTest_prevValue = $("#<%=ddlTest.ClientID%>").val();
            });
        });
    </script>
    <asp:DropDownList ID="ddlTest" runat="server" Width="100" />
    <div id="prevValTxt"></div>
</asp:Content>