【问题标题】:Date picker modal scrolls down the page日期选择器模式向下滚动页面
【发布时间】:2016-11-30 02:25:50
【问题描述】:

我正在使用 Material Design 并使用它的日期选择器。当日期选择器弹出时,页面向下滚动。如何在不向下滚动页面的情况下加载日期选择器模式?

<input id="client-edit-birth-date" type="text" class="datepicker validate">
   $('.datepicker').pickadate({
selectMonths: true, // Creates a dropdown to control month
selectYears: 15, // Creates a dropdown of 15 years to control year,
container: 'body'
 });

【问题讨论】:

    标签: javascript jquery datepicker material-design


    【解决方案1】:

    我遇到了同样的问题,通过将容器设置为 html 解决了它。

    ...
    container: 'html',
    ...
    

    【讨论】:

      【解决方案2】:
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
      <head>
          <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.js"></script>
          <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
          <link rel="stylesheet" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css">
      <script type="text/javascript">
      $(function() {
          $('.date-picker').datepicker( {
              changeMonth: true,
              changeYear: true,
              showButtonPanel: true,
              dateFormat: 'MM yy',
              onClose: function(dateText, inst) { 
                  $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
              }
          });
      });
      </script>
      <style>
      .ui-datepicker-calendar {
          display: none;
          }
      </style>
      </head>
      <body>
          <label for="startDate">Date :</label>
          <input name="startDate" id="startDate" class="date-picker" />
      </body>
      </html>
      

      demo http://jsfiddle.net/DBpJe/5106/

      【讨论】:

        【解决方案3】:

        我是利用 datepicker 的beforeShow 函数来实现的:

        $('.datepicker').datepicker({
          ...
          beforeShow: function(input, inst)
                  {
                      inst.dpDiv.css({position: 'absolute'});
                  }
          ...
        });
        

        您可以在此处设置日期选择器对话框的位置。您必须尝试找出哪种 css 参数更适合您的案例/页面布局。

        【讨论】:

          猜你喜欢
          • 2022-01-23
          • 1970-01-01
          • 2018-04-07
          • 1970-01-01
          • 2023-03-06
          • 1970-01-01
          • 2014-10-02
          • 1970-01-01
          • 2014-04-22
          相关资源
          最近更新 更多