下面是我的代码,它的工作很酷,但是我想在datepicker的输入中显示为2016年1月,但是在datepicker的下拉菜单中,它显示为2016年11月,因此我希望与输入字段相同

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">

<div class="fleft">
       <form method="post">

           <input type="text" id="datepicker" class="date-picker" name="month" id="autoclose" placeholder="filter by month" value="<?=$this->session->userdata('months_day_filter')?>" />

        </form>
        </div>

    <table>
        <thead>

            <th>Name</th>
            <th>Absent</th>
            <th>Leave</th>

            <th>Days</th>
        </thead>
        <? foreach ($users as $user){ ?>
                <tr class="">
                    <td><?=$user['f_name'] .' '. $user['l_name'] ?></td>
                    <td ><?=$user['absents']?></td>
                    <td ><?=$user['leave_count']?></td>
                    <td ><?=$user['working_days']?></td>

                </tr>
             <? } ?>

        </tbody>

    </table>

<script type="text/javascript">
$(function() {
  $('#datepicker').datepicker({
    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    dateFormat: 'MM yy',
    //defaultDate: null,
    defaultDate: <?=date('y-m')?>,
    onClose: function(dateText, inst) {
         var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
            var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
            $(this).datepicker('setDate', new Date(year, month, 1));
        //alert(this.value);
     $('.month_form').submit();
    }

  });
});
</script>
    <style>
.ui-datepicker-calendar {
    display: none;
    }
</style>


请帮我在datepicker的下拉菜单中设置输入值

最佳答案

用以下内容替换最后一个功能代码。

$(function() {
var fullmonth_array = ["January", "February", "March", "April", "May", "June",
                  "July", "August", "September", "October", "November", "December"];

  $('#datepicker').datepicker({
    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    dateFormat: 'MM yy',
    //defaultDate: null,
    defaultDate: "<?=date('y-m')?>",
 monthNamesShort : fullmonth_array,
    onChangeMonthYear: function(year, month, inst){
         var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
            var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
            $(this).datepicker('setDate', new Date(year, month, 1));
        //alert(this.value);
     $('.month_form').submit();
    }

  });
});


不需要保留完成按钮,因此可以通过删除showButtonPanel或将其设置为false来删除它。

10-05 20:27
查看更多