jQuery ui 日期选择器位置

Posted

技术标签:

【中文标题】jQuery ui 日期选择器位置【英文标题】:Jquery ui datepicker position 【发布时间】:2018-10-16 19:50:04 【问题描述】:

我的 Jquery ui datepicker 位置相对于隐藏的输入类型有问题。

我在点击 FontAwesome 图标时触发了日期选择器,并将所选日期保存在隐藏的输入类型中。所有工作但日期选择器日历位置不在图标下方。

【问题讨论】:

请发布您的 htmljavascript 【参考方案1】:

你可以试试这个:

<i class="fa fa-calendar" aria-hidden="true"></i>
<div id="datepicker"></div>

<script type="text/javascript">
$(document).ready(function() 
$("#datepicker").datepicker(
        changeMonth: true,
        changeYear: true,
)
.hide()
.click(function() 
  $(this).hide();
);

$(".fa-calendar").click(function() 
   $("#datepicker").show(); 
   );
);

//或

$( function() 
$( "#datepicker" ).datepicker(
  showOn: "button",
  buttonImage: "images/calendar.gif",
  buttonImageOnly: true,
  buttonText: "Select date"
);
 );



<p>Date: <input type="text" id="datepicker"></p>

【讨论】:

【参考方案2】:

jQuery

    $(document).ready(function()
    $('#trigger').click(function() 
            $('#dp').show().focus().hide();
        );
    $('#dp').datepicker(
            altField: '',
            dateFormat: "dd-mm-yy",
            beforeShow: function (input, inst) 
                var rect = input.getBoundingClientRect();
                console.log(rect);
                console.log(input);
                setTimeout(function () 
                    inst.dpDiv.css( top: rect.top + 22, left: rect.left + -130 );
                , 0);
            ,onSelect: function (date) 
                $('#eventSearchForm').submit();
            
        );
);

HTML

<form id="eventSearchForm" method="get" action="/index.php">
<div class="row">
    <div class="form-group col-lg-12 col-xs-12 col-sm-12">
        <div class="input-group date">
            <input type="search" name="keywords" class="form-control pull-left searchField" />
            <div class="input-group-btn">
                <input type="text" id="dp" style="display: none" name="date" class="">
                <button class="btn btn-default trigger iconbtn" id="trigger" type="button"><i class="fa fa-calendar" aria-hidden="true"></i></button>
            </div>
        </div>
    </div>
    <input type="submit" name="search" />
</div> 

【讨论】:

以上是关于jQuery ui 日期选择器位置的主要内容,如果未能解决你的问题,请参考以下文章

带有手动输入和动态最小日期的 jQuery UI 日期选择器

在日期选择器上设置日期 jquery ui datepicker

在 jQuery UI 日期选择器中在日期旁边显示附加文本

JQuery UI日期选择器结束日期开始日期后1天

禁用 jQuery UI 日期选择器的焦点设置

jQuery UI 日期选择器翻译