0

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

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

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

4

3 回答 3

1

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

编辑:参见@tymeJV 示例。

于 2013-06-06T14:14:37.317 回答
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/

于 2013-06-06T14:14:41.350 回答
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>
于 2013-06-06T14:30:07.803 回答