Javascript 打开日期选择器的超链接
有没有办法将超链接/Javascript 打开日期选择器的超链接,javascript,jquery,html,datepicker,Javascript,Jquery,Html,Datepicker,有没有办法将超链接/标记更改为日期选择器?我不希望整个日期字段,因为它将工作,因为他们点击一个日期,它会进入页面的某一部分(在那里与该日期的文章位于) 我试过这个: <li class="calendar"><a href="#"><span>Calendar</span></a></li> 但它不起作用 日期选择器绑定到标准表单输入字段。关注 输入(单击或使用tab键)以在中打开交互式日历 小覆盖层。选择日期,单击页面上
标记更改为日期选择器?我不希望整个日期字段,因为它将工作,因为他们点击一个日期,它会进入页面的某一部分(在那里与该日期的文章位于)
我试过这个:
<li class="calendar"><a href="#"><span>Calendar</span></a></li>
但它不起作用
日期选择器绑定到标准表单输入字段。关注
输入(单击或使用tab键)以在中打开交互式日历
小覆盖层。选择日期,单击页面上的其他位置(模糊
输入),或按Esc键关闭。如果选择了一个日期,则会收到反馈
显示为输入的值
在web上阅读时,您可以看到datepicker只能绑定到输入字段
日期选择器绑定到标准表单输入字段。关注
输入(单击或使用tab键)以在中打开交互式日历
小覆盖层。选择日期,单击页面上的其他位置(模糊
输入),或按Esc键关闭。如果选择了一个日期,则会收到反馈
显示为输入的值
在网上阅读时,你可以看到日期选择器只能绑定到一个输入字段你可以这样做
html:
<li class="calendar"><a href="#"><span>Calendar</span></a></li>
<div id="datepicker" class=hidden></div>
css:
你可以这样做
html:
<li class="calendar"><a href="#"><span>Calendar</span></a></li>
<div id="datepicker" class=hidden></div>
css:
您可以将日期选择器附加到隐藏的输入 HTML:
您可以将日期选择器附加到隐藏的输入 HTML:
要实现您的功能,您可以遵循以下语句:
datepicker
(使其
如2014-01-20您应提供以下“yy-mm-dd”
):
$(“#inputDate”).datepicker({
日期格式:“年月日”/*..*/}
数据日期=“yyyy-mm-dd”
(您需要的实际日期)。
还为这些元素提供一些class
,以识别它们(我有
使用“post”
):
onSelect
处理程序。在其中,您可以
访问所选日期。查找标记为的元素
“数据日期=所选值”
并对其执行任何操作
元素(例如,滚动到它并用一些class
标记):
完整的演示是。要实现您的功能,您可以按照以下语句进行操作:
datepicker
(使其
如2014-01-20您应提供以下“yy-mm-dd”
):
$(“#inputDate”).datepicker({
日期格式:“年月日”/*..*/}
数据日期=“yyyy-mm-dd”
(您需要的实际日期)。
还为这些元素提供一些class
,以识别它们(我有
使用“post”
):
onSelect
处理程序。在其中,您可以
访问所选日期。查找标记为的元素
“数据日期=所选值”
并对其执行任何操作
元素(例如,滚动到它并用一些class
标记):
完整的演示是。首先尝试$('.calendar').datepicker();而不是。我觉得这里有很多错误。这也不起作用,但正如您所说的,要按类匹配选择器,您需要在“.”之前加上前缀。如果您的“e”匹配Id,则需要在“#”之前加上“#”等。首先尝试$('.calendar').datepicker();相反。我觉得这里出错的地方更多。这也不起作用,但正如您所说的,要按类匹配选择器,您需要在“.”之前加上前缀。如果您的“匹配Id”,则需要在“#”之前加上“#”等等。这是错误的…你也可以把它和一个div联系起来…使用我的提琴/答案!谢谢你的更正!我认为他们可以更改他们网站上的信息:d这是错误的…你也可以将它与一个div联系起来…使用我的提琴/答案!谢谢你的更正!我认为他们可以更改他们网站上的信息:d这非常适合让日期选择器显示,但我得到了以下错误:
uncaughttypeerror:无法读取未定义的属性“top”
如果没有标记选定日期的帖子,就会发生这种情况。我已编辑了我的答案和演示。只有2014-01-20、2014-01-21和2014-01-22日期会导致滚动和选择div
。添加morediv
s具有不同的数据日期
属性如果您不需要,我会一直收到此错误-TypeError:“undefined”不是对象(评估“matchedPost.offset().top”)
无论日期或格式如何,您是否正在使用我的演示?是的,我是,确切的代码。但当我在localhost中尝试时,它会给我错误这对于让日期选择器显示非常有效,但我得到了以下错误:未捕获类型错误:无法读取未定义的属性“top”
如果没有任何帖子出现,则会发生这种情况选择日期。我已经编辑了我的答案和演示。只有2014-01-20、2014-01-21和2014-01-22日期会导致滚动和选择div
。使用不同的数据日期属性添加更多div
如果您需要,我会一直收到此错误-类型错误:“未定义”不是对象(正在计算'matchedPost.offset().top')
无论日期或格式如何,您是否正在使用我的演示?是的,我使用的是确切的代码。但当我在localhost中尝试时,它给出了一个错误这对我有效,尽管我在隐藏输入中添加了disabled
属性。这对我有效,尽管我在隐藏输入中添加了disabled
属性。
$("#datepicker").datepicker();
$(".calendar a").click(function(){
$("#datepicker").toggle();
});
.hidden{
display: none;
}
<a href="#" id="open">Open</a><br />
<input type="hidden" id="date" />
$('#date').datepicker({
onSelect: function() {
var date = $('#date').val();
// Do something with the value here.
}
});
$('#open').click(function(e) {
e.preventDefault();
$('#date').datepicker('show');
});
<div class="post" data-date="2014-01-20">Posted on 2014-01-20</div>
<div class="post" data-date="2014-01-21">Posted on 2014-01-21</div>
<div class="post" data-date="2014-01-22">Posted on 2014-01-22</div>
$(document).on("click", "#openDatepicker", function (e) {
$("#inputDate").datepicker("show");
return false;
});
$("#inputDate").datepicker({
/*...*/
onSelect: function () {
//get selected date
var date = $('#inputDate').val();
//find all "posts"
var posts = $(".post");
//unmark all "posts"
posts.removeClass("selected");
var matchedPost = posts.filter("[data-date='" + date + "']");
if(matchedPost.length > 0) {
//mark matched post
matchedPost.addClass("selected");
//and scroll to it
$("body").animate({scrollTop: matchedPost.offset().top}, 800);
} else {
alert("Nothing on this date");
}
});