我正在使用JQuery的UI datepicker:http://jqueryui.com/demos/datepicker/
在这里实施:
http://www.clients.eirestudio.net/old/
我想使用链接作为触发器,但我无法使其工作。
这是我的代码:
// JQuery UI
$("#datepicker").datepicker({
changeMonth: true,
changeYear: true,
maxDate: '0m 0d',
minDate: new Date(2000, 1 - 1, 1),
dateFormat: 'dd-mm-yy'
});
<p class="clearfix hidden">
<input id="" class="input float datepicker" type="input" name="" value="" />
<a class="calendar ui-icon ui-icon-calendar">Date</a>
<span class="mid-info">To</span>
<input id="" class="input datepicker" type="input" name="" value="" />
<a class="calendar" href="#">Date</a>
</p>
有什么想法吗?
答案 0 :(得分:27)
你可以像我在this fiddle
那样做HTML:
<a href="#" id="toggleDP">Toggle</a>
JS:
var $dp = $("<input type='text' />").hide().datepicker({
onSelect: function(dateText, inst) {
$("body").append("<div>Selected "+dateText+"</div>");
}
}).appendTo('body');
$("#toggleDP").button().click(function(e) {
if ($dp.datepicker('widget').is(':hidden')) {
$dp.show().datepicker('show').hide();
$dp.datepicker("widget").position({
my: "left top",
at: "right top",
of: this
});
} else {
$dp.hide();
}
//e.preventDefault();
});
答案 1 :(得分:18)
我只是在我的应用程序中轻松解决了这个问题 - 如果您的文本字段打开了日期选择器,您也可以使用此解决方案。我在图标中添加了$('#date_field').focus()
链接。单击图标,文本字段将获得焦点,并触发打开日期选择器。瞧。
答案 2 :(得分:6)
这可能有助于其他人。
我最终让它与JQuery UI一起工作。
以下代码:
$(".date-pick").datepicker({
changeMonth: true,
changeYear: true,
maxDate: '0m 0d',
minDate: new Date(2000, 1 - 1, 1),
dateFormat: 'dd-mm-yy',
showOn: 'button',
buttonImage: 'http://www.example.com/elements/images/calendar.png',
buttonImageOnly: true
});
我将datepicker id更改为date-pick class
答案 3 :(得分:6)
尝试使用:
<a href="javascript:void(0);" onclick="$.datepicker._showDatepicker($('#inputID')[0]);">Text here</a>
<input type="hidden" id="inputID"/>
...
<script type="text/javascript">
$(document).ready(
function()
{
$('#inputID').datepicker();
}
);
</script>
答案 4 :(得分:4)
根据@camilokawerin的回答,我做到了这一点,我发现它是最简单,最干净的解决方案:
HTML:
<a href="#" id="selec">Click</a> <div id="datepicker" style="display:none"></div>
JS:
$("#datepicker").datepicker();
$('#selec').click(function(){
$('#datepicker').toggle();
});
答案 5 :(得分:0)
从jqueryui开始,您似乎应该添加showOn
并且可能(不知道是否需要)buttonImage
:
$("#datepicker").datepicker({
changeMonth: true,
changeYear: true,
maxDate: '0m 0d',
minDate: new Date(2000, 1 - 1, 1),
dateFormat: 'dd-mm-yy',
showOn: 'button',
buttonImage: 'images/calendar.gif', // adapt this to your image
buttonImageOnly: true
});
答案 6 :(得分:0)
inline datepicker使用JSFiddle非常容易。检查我的{{3}}。
HTML
<a href="#" class="datepicker">Pick a date</a>
JS
var dpToggler = $('a.datepicker').button(),
dp = $("<div />").css('position', 'absolute').hide().datepicker().appendTo(dpToggler);
dpToggler.on('click', function(e) {
e.preventDefault();
if (dp.is(':hidden')) {
dp.show().position({
my: 'left top',
at: 'right top',
of: this
});
} else {
dp.hide();
}
});