代码之家  ›  专栏  ›  技术社区  ›  Emac

单击下拉列表时的JQuery/Bootstrap日期选择器

  •  0
  • Emac  · 技术社区  · 8 年前

    我是前端开发新手,所以请原谅我的无知,但是我有引导下拉菜单,当用户点击它们时,我希望它能调出日期选择器,以便用户可以选择日期。然后我最终会将菜单选择和日期选择传递到变量中,但我甚至无法在选择菜单时让日期选择器弹出。

    下面是我尝试过的几个例子,尽管我尝试过很多不同的技术。我从佩雷的建议中得到的第一条线索 JQuery UI Datepicker: Making a link trigger datepicker 但是当我运行datepicker时,我得到一个错误,说它不是一个函数。我相信这里的人会马上看到这一点,并且能够找出我做错了什么,所以请帮助我。

    $(document).ready(function () {
        $('#datepicker').datepicker()
        $('.dropdown-item').click(function () {
                $('#datepicker').toggle()
        });
    });
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
    
    
                
     <div class="btn-group">
        <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
            Menu
        </button>
          <div class="dropdown-menu">
              <a class="dropdown-item" id="1">1</a>
              <a class="dropdown-item" id="2">2</a>
              <a class="dropdown-item" id="3">3</a>
              <a class="dropdown-item" id="4">4</a>
              <input type=date id=datepicker>
           </div>
    </div>

    $(document).ready(function () {
        $('#datepicker').hide()
        $('.dropdown-item').click(function () {
                $('#datepicker').show()
        });
    });
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
    
    
                
     <div class="btn-group">
        <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
            Menu
        </button>
          <div class="dropdown-menu">
              <a class="dropdown-item" id="1">1</a>
              <a class="dropdown-item" id="2">2</a>
              <a class="dropdown-item" id="3">3</a>
              <a class="dropdown-item" id="4">4</a>
              <input type=date id=datepicker>
           </div>
    </div>
                     
    1 回复  |  直到 8 年前
        1
  •  0
  •   Emac    8 年前

    如果有人在拔了我一整天的头发后,偶然发现了和我一样的问题,下面是我最终解决的问题,它是有效的!它返回日期和下拉行的ID,因此我可以将其传递到我的更大的应用程序中。

    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Datepicker</title>
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
        <script src="../static/bootstrap-datepicker.js"></script>
        <link href="../static/bootstrap-datepicker.css" rel="stylesheet" />
        <script>
            $(document).ready(function () {
    
                $('.dropdown-item').datepicker({
                    format: 'mm/dd/yyyy'
                });
    
                $('.dropdown-item').on('changeDate', function (event) {
                    alert(this.id + ' ' + event.format());
                });
            });
        </script>
    </head>
    <div class="btn-group">
        <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
            Menu
        </button>
        <div class="dropdown-menu">
            <a class="dropdown-item" id="1">1</a>
            <a class="dropdown-item" id="2">2</a>
            <a class="dropdown-item" id="3">3</a>
            <a class="dropdown-item" id="4">4</a>
            <input id=datepicker />
        </div>
    </div>
    </html>