在jQuery UI Datepicker中交换月/年选择列表位置

Swap month/year select list placement in jQuery UI Datepicker

本文关键字:选择 列表 位置 交换 jQuery UI Datepicker      更新时间:2023-09-26

我想在启用了changeYear和changeMonth选项的日期选择器中交换月份/年份选择元素的位置。

默认情况下显示顺序是月然后年,我想要年然后月。

运行下面的代码片段,看看为什么:

$( "#picker" ).datepicker({
            maxDate: 'today',
            changeYear: true,
            changeMonth: true,
            minDate: "01/01/1939",
            stepMonths:12,
            yearRange: "1939:" + new Date().getFullYear()
        });
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" />
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<form>
 
<div><b>How do I swap the month/year select list placement?</b></div>
  
Birthdate: <input type="text" name="picker" id="picker" value="" />
  
 <ol>
  <li>Click the input above to open the datepicker.</li>
  <li>Click on the month select list to view the select options available.</li>
<li>Notice that it only shows up to the current month?  This is confusing to users.</li>
<li>Change the year to any previous one.<li>
 <li>Now select a month,  they are all there.</li>
<li>In our world of left to right processing, in this case, it makes sense to have the year appear first followed by the month.</li>
</ol>  
  
 </form>

使用CSS:

将月份和年份向右浮动
.ui-datepicker select.ui-datepicker-month, 
.ui-datepicker select.ui-datepicker-year { float: right; }

或者按照重复的答案所提供的:使用选项showMonthAfterYear: true