两个jquery日期选择器表之间的填充

问题描述 投票:0回答:2

Datepicker Example

我需要 jquery 日期选择器内的两个表之间的间距作为公共标题。我尝试了各种解决方案,例如为父 div 提供填充,但我无法解决它。任何人都可以帮忙吗?

<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<style>
  .ui-widget-content .ui-state-default,
  .ui-widget-header .ui-state-default,
  .ui-button,
  html .ui-button.ui-state-disabled:hover,
  html .ui-button.ui-state-disabled:active {
    background: 0 !important;
    border: 0 !important;
    color: #9c9c9c !important;
    font-weight: bold;
    text-align: center !important;
    white-space: no-wrap;
    font-size: 10px;
  }
  
  table {
    border-collapse: collapse !important;
    margin: 0;
  }
  
  .ui-datepicker-multi .ui-datepicker-group table {
    width: 100% !important;
  }
  
  <!-- .ui-datepicker-unselectable.ui-state-disabled {
    border: 0 !important;
  }
  
  -->.ui-datepicker-unselectable.ui-state-default {
    display: none;
  }
  
  .ui-state-range {
    background-color: #FBD2D3 !important;
    color: #fff !important;
  }
  
  #ui-datepicker-div tr td:hover *,
  #ui-datepicker-div tr td>.ui-state-default.ui-state-hover,
  .ui-datepicker-current-day {
    background-color: #F4777C !important;
    color: #fff !important;
    text-align: center !important;
  }
  
  thead::after {
    content: "";
    display: block;
    height: 1.5em;
    width: 100%;
    background: white;
  }
  
  .ui-datepicker-today {
    background-color: none !important;
  }
  
  .ui-datepicker td span,
  .ui-datepicker td a {
    text-align: center !important;
  }
  
  tbody {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  
  td {
    border: 1px solid #F6F6F6 !important;
  }
  
  #ui-datepicker-div {
    display: none;
    left: 8px;
    position: absolute;
    top: 31px;
    width: 50% !important;
    z-index: 1;
  }
  
  .ui-datepicker-header.ui-widget-header {
    background-color: #F6F6F6 !important;
    border: 0 !important;
    font-weight: bold;
    color: #9c9c9c !important;
  }
  
  .ui-datepicker th {
    background-color: #F6F6F6 !important;
    border: 0 !important;
    font-weight: normal;
  }
  
  .lowTicketValue {
    color: #326EA6;
    white-space: no-wrap;
    font-size: 10px;
  }
  
  .lowTicketValue:active {
    color: #fff !important;
    white-space: no-wrap;
  }
  
  .ui-datepicker .ui-state-range {
    background-color: #F4777C !important;
  }
  
  .ui-datepicker-calendar .highlight {
    background-color: #FBD2D3 !important;
  }
  
  .ui-state-range {
    background-color: #F4777C !important;
  }
  
  .highTicketValue {
    color: #F4777C !important;
  }
  
  #ui-datepicker-div tr td:nth-child(2n+1)>span {
    color: #F4777C !important;
  }
  
  #ui-datepicker-div tr td:nth-child(2n+1):active>span,
  #ui-datepicker-div tr td:nth-child(2n+1):hover>span {
    color: #fff !important;
  }
</style>
<input type="text" id="flexibledates" />
<input type="text" id="flightdeparture" />
<script>
  $(function() {
    $('#flexibledates').datepicker({
      changeMonth: false,
      numberOfMonths: 2,
      dateFormat: 'D, d MM',
      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
      beforeShow: function(input, inst) {
        insertMessageStartDate();
      },
      onSelect: function(selectedDate) {
        var selectedDate = $("#flexibledates").datepicker("getDate");
        if (selectedDate != null) {
          $('#flightdeparture').datepicker('option', 'minDate', selectedDate).datepicker('refresh');
        }
      }
    });
    $('#flightdeparture').datepicker({
      changeMonth: false,
      numberOfMonths: 2,
      dateFormat: 'D, d MM',

      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
      beforeShow: function(input, inst) {
        insertMessageEndDate();
      },
      onSelect: function(selectedDate) {
        $('#flexibledates').datepicker('option', 'maxDate', $(this).datepicker('getDate')); // Reset maximum date				 
      }



    });


    function insertMessageStartDate(message) {
      clearTimeout(insertMessageStartDate.timer);

      if ($('#ui-datepicker-div .ui-datepicker-calendar .ui-state-default').is(':visible')) {
        $('.ui-state-default').after('<span class="lowTicketValue">' + 45555 + '</span>');



      } else
        insertMessageStartDate.timer = setTimeout(insertMessageStartDate, 10);
    }

    function insertMessageEndDate(message) {
      clearTimeout(insertMessageEndDate.timer);
      // $("#flexibledates").datepicker("getDate").css({"background-color": "#F4777C !important", "color": "#fff !important"});
      if ($('#ui-datepicker-div .ui-datepicker-calendar .ui-state-default').is(':visible')) {

        $('.ui-state-default').after('<span class="lowTicketValue">' + 45555 + '</span>');
        $("#ui-datepicker-div td").on({
          mouseenter: function() {
            $(this).prevAll("td:not(.ui-datepicker-unselectable)").addClass("highlight");
          },
          mouseleave: function() {
            $("#ui-datepicker-div td").removeClass("highlight");
          }
        });


      } else
        insertMessageEndDate.timer = setTimeout(insertMessageEndDate, 10);
    }
  });
</script>

html css datepicker
2个回答
2
投票

添加CSS:

.ui-datepicker-multi-2 .ui-datepicker-group {
    width: 48%;
    margin: 0 1%;
}

我在这里重写了 jquery-ui css,但请注意我不需要

important

在全屏模式下查看片段

<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<style>
  .ui-widget-content .ui-state-default,
  .ui-widget-header .ui-state-default,
  .ui-button,
  html .ui-button.ui-state-disabled:hover,
  html .ui-button.ui-state-disabled:active {
    background: 0 !important;
    border: 0 !important;
    color: #9c9c9c !important;
    font-weight: bold;
    text-align: center !important;
    white-space: no-wrap;
    font-size: 10px;
  }
  
  table {
    border-collapse: collapse !important;
    margin: 0;
  }
  
  .ui-datepicker-multi-2 .ui-datepicker-group {
    width: 48%;
    margin: 0 1%;
}
  
  .ui-datepicker-multi .ui-datepicker-group table {
    width: 100% !important;
  }
  
  <!-- .ui-datepicker-unselectable.ui-state-disabled {
    border: 0 !important;
  }
  
  -->.ui-datepicker-unselectable.ui-state-default {
    display: none;
  }
  
  .ui-state-range {
    background-color: #FBD2D3 !important;
    color: #fff !important;
  }
  
  #ui-datepicker-div tr td:hover *,
  #ui-datepicker-div tr td>.ui-state-default.ui-state-hover,
  .ui-datepicker-current-day {
    background-color: #F4777C !important;
    color: #fff !important;
    text-align: center !important;
  }
  
  thead::after {
    content: "";
    display: block;
    height: 1.5em;
    width: 100%;
    background: white;
  }
  
  .ui-datepicker-today {
    background-color: none !important;
  }
  
  .ui-datepicker td span,
  .ui-datepicker td a {
    text-align: center !important;
  }
  
  tbody {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  
  td {
    border: 1px solid #F6F6F6 !important;
  }
  
  #ui-datepicker-div {
    display: none;
    left: 8px;
    position: absolute;
    top: 31px;
    width: 50% !important;
    z-index: 1;
  }
  
  .ui-datepicker-header.ui-widget-header {
    background-color: #F6F6F6 !important;
    border: 0 !important;
    font-weight: bold;
    color: #9c9c9c !important;
  }
  
  .ui-datepicker th {
    background-color: #F6F6F6 !important;
    border: 0 !important;
    font-weight: normal;
  }
  
  .lowTicketValue {
    color: #326EA6;
    white-space: no-wrap;
    font-size: 10px;
  }
  
  .lowTicketValue:active {
    color: #fff !important;
    white-space: no-wrap;
  }
  
  .ui-datepicker .ui-state-range {
    background-color: #F4777C !important;
  }
  
  .ui-datepicker-calendar .highlight {
    background-color: #FBD2D3 !important;
  }
  
  .ui-state-range {
    background-color: #F4777C !important;
  }
  
  .highTicketValue {
    color: #F4777C !important;
  }
  
  #ui-datepicker-div tr td:nth-child(2n+1)>span {
    color: #F4777C !important;
  }
  
  #ui-datepicker-div tr td:nth-child(2n+1):active>span,
  #ui-datepicker-div tr td:nth-child(2n+1):hover>span {
    color: #fff !important;
  }
</style>
<input type="text" id="flexibledates" />
<input type="text" id="flightdeparture" />
<script>
  $(function() {
    $('#flexibledates').datepicker({
      changeMonth: false,
      numberOfMonths: 2,
      dateFormat: 'D, d MM',
      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
      beforeShow: function(input, inst) {
        insertMessageStartDate();
      },
      onSelect: function(selectedDate) {
        var selectedDate = $("#flexibledates").datepicker("getDate");
        if (selectedDate != null) {
          $('#flightdeparture').datepicker('option', 'minDate', selectedDate).datepicker('refresh');
        }
      }
    });
    $('#flightdeparture').datepicker({
      changeMonth: false,
      numberOfMonths: 2,
      dateFormat: 'D, d MM',

      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
      beforeShow: function(input, inst) {
        insertMessageEndDate();
      },
      onSelect: function(selectedDate) {
        $('#flexibledates').datepicker('option', 'maxDate', $(this).datepicker('getDate')); // Reset maximum date				 
      }



    });


    function insertMessageStartDate(message) {
      clearTimeout(insertMessageStartDate.timer);

      if ($('#ui-datepicker-div .ui-datepicker-calendar .ui-state-default').is(':visible')) {
        $('.ui-state-default').after('<span class="lowTicketValue">' + 45555 + '</span>');



      } else
        insertMessageStartDate.timer = setTimeout(insertMessageStartDate, 10);
    }

    function insertMessageEndDate(message) {
      clearTimeout(insertMessageEndDate.timer);
      // $("#flexibledates").datepicker("getDate").css({"background-color": "#F4777C !important", "color": "#fff !important"});
      if ($('#ui-datepicker-div .ui-datepicker-calendar .ui-state-default').is(':visible')) {

        $('.ui-state-default').after('<span class="lowTicketValue">' + 45555 + '</span>');
        $("#ui-datepicker-div td").on({
          mouseenter: function() {
            $(this).prevAll("td:not(.ui-datepicker-unselectable)").addClass("highlight");
          },
          mouseleave: function() {
            $("#ui-datepicker-div td").removeClass("highlight");
          }
        });


      } else
        insertMessageEndDate.timer = setTimeout(insertMessageEndDate, 10);
    }
  });
</script>

更新 - 我认为你不能完全按照你想要的方式做,但你可以像这样进行更改,再次全屏查看:

.ui-datepicker-multi .ui-datepicker-group table {
    width: 96%; /* <!-- !important NOT needed */
    margin: 4%;
}

<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<style>
  .ui-widget-content .ui-state-default,
  .ui-widget-header .ui-state-default,
  .ui-button,
  html .ui-button.ui-state-disabled:hover,
  html .ui-button.ui-state-disabled:active {
    background: 0 !important;
    border: 0 !important;
    color: #9c9c9c !important;
    font-weight: bold;
    text-align: center !important;
    white-space: no-wrap;
    font-size: 10px;
  }
  
  table {
    border-collapse: collapse !important;
    margin: 0;
  }
  
  .ui-datepicker-multi .ui-datepicker-group table {
    width: 96%;
    margin: 2%;
  }
  
  <!-- .ui-datepicker-unselectable.ui-state-disabled {
    border: 0 !important;
  }
  
  -->.ui-datepicker-unselectable.ui-state-default {
    display: none;
  }
  
  .ui-state-range {
    background-color: #FBD2D3 !important;
    color: #fff !important;
  }
  
  #ui-datepicker-div tr td:hover *,
  #ui-datepicker-div tr td>.ui-state-default.ui-state-hover,
  .ui-datepicker-current-day {
    background-color: #F4777C !important;
    color: #fff !important;
    text-align: center !important;
  }
  
  thead::after {
    content: "";
    display: block;
    height: 1.5em;
    width: 100%;
    background: white;
  }
  
  .ui-datepicker-today {
    background-color: none !important;
  }
  
  .ui-datepicker td span,
  .ui-datepicker td a {
    text-align: center !important;
  }
  
  tbody {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  
  td {
    border: 1px solid #F6F6F6 !important;
  }
  
  #ui-datepicker-div {
    display: none;
    left: 8px;
    position: absolute;
    top: 31px;
    width: 50% !important;
    z-index: 1;
  }
  
  .ui-datepicker-header.ui-widget-header {
    background-color: #F6F6F6 !important;
    border: 0 !important;
    font-weight: bold;
    color: #9c9c9c !important;
  }
  
  .ui-datepicker th {
    background-color: #F6F6F6 !important;
    border: 0 !important;
    font-weight: normal;
  }
  
  .lowTicketValue {
    color: #326EA6;
    white-space: no-wrap;
    font-size: 10px;
  }
  
  .lowTicketValue:active {
    color: #fff !important;
    white-space: no-wrap;
  }
  
  .ui-datepicker .ui-state-range {
    background-color: #F4777C !important;
  }
  
  .ui-datepicker-calendar .highlight {
    background-color: #FBD2D3 !important;
  }
  
  .ui-state-range {
    background-color: #F4777C !important;
  }
  
  .highTicketValue {
    color: #F4777C !important;
  }
  
  #ui-datepicker-div tr td:nth-child(2n+1)>span {
    color: #F4777C !important;
  }
  
  #ui-datepicker-div tr td:nth-child(2n+1):active>span,
  #ui-datepicker-div tr td:nth-child(2n+1):hover>span {
    color: #fff !important;
  }
</style>
<input type="text" id="flexibledates" />
<input type="text" id="flightdeparture" />
<script>
  $(function() {
    $('#flexibledates').datepicker({
      changeMonth: false,
      numberOfMonths: 2,
      dateFormat: 'D, d MM',
      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
      beforeShow: function(input, inst) {
        insertMessageStartDate();
      },
      onSelect: function(selectedDate) {
        var selectedDate = $("#flexibledates").datepicker("getDate");
        if (selectedDate != null) {
          $('#flightdeparture').datepicker('option', 'minDate', selectedDate).datepicker('refresh');
        }
      }
    });
    $('#flightdeparture').datepicker({
      changeMonth: false,
      numberOfMonths: 2,
      dateFormat: 'D, d MM',

      dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
      beforeShow: function(input, inst) {
        insertMessageEndDate();
      },
      onSelect: function(selectedDate) {
        $('#flexibledates').datepicker('option', 'maxDate', $(this).datepicker('getDate')); // Reset maximum date				 
      }



    });


    function insertMessageStartDate(message) {
      clearTimeout(insertMessageStartDate.timer);

      if ($('#ui-datepicker-div .ui-datepicker-calendar .ui-state-default').is(':visible')) {
        $('.ui-state-default').after('<span class="lowTicketValue">' + 45555 + '</span>');



      } else
        insertMessageStartDate.timer = setTimeout(insertMessageStartDate, 10);
    }

    function insertMessageEndDate(message) {
      clearTimeout(insertMessageEndDate.timer);
      // $("#flexibledates").datepicker("getDate").css({"background-color": "#F4777C !important", "color": "#fff !important"});
      if ($('#ui-datepicker-div .ui-datepicker-calendar .ui-state-default').is(':visible')) {

        $('.ui-state-default').after('<span class="lowTicketValue">' + 45555 + '</span>');
        $("#ui-datepicker-div td").on({
          mouseenter: function() {
            $(this).prevAll("td:not(.ui-datepicker-unselectable)").addClass("highlight");
          },
          mouseleave: function() {
            $("#ui-datepicker-div td").removeClass("highlight");
          }
        });


      } else
        insertMessageEndDate.timer = setTimeout(insertMessageEndDate, 10);
    }
  });
</script>


0
投票

你可以在 CSS 中尝试这个

 .datepicker{
    &.datepicker-orient-bottom{
        margin-top:10px;
    }
    &.datepicker-orient-top{
        margin-top:-10px;
    }
 }

© www.soinside.com 2019 - 2024. All rights reserved.