保存所选选项不适用于jquery

时间:2019-04-09 22:22:27

标签: javascript jquery asp.net aspx-user-control

我需要保存用户的选择。.用这种方式做到了:

$(".dateTimeFilterIdentifierCls").change(function () {
    debugger;
    localStorage.setItem('ChosenDateIndexLS', $(".dateTimeFilterIdentifierCls").find(":selected")[0].index);

});

$(document).ready(function () {

    console.log("ChosenDateIndexLS is :: ", localStorage.getItem('ChosenDateIndexLS'));
    $(".dateTimeFilterIdentifierCls").prop('selectedIndex', localStorage.getItem('ChosenDateIndexLS')); 
});

aspx页面中使用过的css类:

  <td height="21" width="343" colspan="2" style="width: 614px;">
                        <asp:UpdatePanel ID="showsDatalistPanel" runat="server" Visible="false" UpdateMode="Always">
                            <ContentTemplate>
                                <div>
                                    <asp:DropDownList ID="dateTimeFilter" CssClass="dateTimeFilterIdentifierCls" runat="server" OnSelectedIndexChanged="dateTimeFilter_SelectedIndexChanged"
                                        onchange="bindControlEvents()" AutoPostBack="true" Visible="false">
                                    </asp:DropDownList>
                                    <label id="dateTimeFilterLabel" runat="server" style="padding-left: 15px" visible="false">
                                        בחירת מופע לפי תאריך</label>
                                </div>

还尝试使用以下方式保存索引:

$(".dateTimeFilterIdentifierCls").change(function () {
    localStorage.setItem('ChosenDateIndexLS', $(".dateTimeFilterIdentifierCls").val());
});

它们都不起作用。确实需要解决方案。谢谢!

1 个答案:

答案 0 :(得分:0)

以这种方式尝试,在谷歌浏览器中使用,我正在注销本地存储,因此您可以看到它保存了选择。在您的示例中,您已经准备好文档外部的on更改,因此on更改可能无法正确启动或根本无法启动

代码

<!DOCTYPE html>
  <html lang="en" dir="ltr">
    <head>
    <meta charset="utf-8">
    <title></title>
    <script
      src="https://code.jquery.com/jquery-3.3.1.min.js"
      integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
      crossorigin="anonymous">
    </script>
    </head>
    <body>
      <select class="dateTimeFilterIdentifierCls" name="">
        <option value="hi"> hi </option>
        <option value="hello">hello</option>
        <option value="foo">foo</option>
        <option value="bah">bah</option>
      </select>
    </body>
    <script type="text/javascript">
    $().ready(function(){
      $('.dateTimeFilterIdentifierCls').change(function(){
        localStorage.setItem('ChosenDateIndexLS',$(".dateTimeFilterIdentifierCls").val());
        console.log(localStorage);
      });
    });
    </script>
  </html>