gpt4 book ai didi

jquery - 如何在第一个 onclick 事件上运行日期选择器?

转载 作者:行者123 更新时间:2023-12-03 22:35:22 25 4
gpt4 key购买 nike

我正在使用这个date picker from jqueryui
如果你查看该页面,你会发现他们只是在一个函数中编写了这样的内容:

    $(function() {
$("#datepicker").datepicker();
});
</script>

但我想在一个文本框单击事件上打开我的日期选择器。
所以我写了这个:

$("#datepicker").datepicker();

在我在文本框 onclick 事件上调用的一个函数中。
但这样一来就有一个问题出现了。

我仅在第二次单击文本框时才获得日期选择器。
如果我在页面加载后第一次单击,则日期选择器将不会出现,但一旦我第二次单击,日期选择器就会出现。

为什么?我可以在第一次点击时执行此操作吗?

是的,我知道如果我放置第一个代码,这已经完美地发生了,但我希望它在我的函数中。

编辑:
现在我就向大家解释一下我到底在做什么。

我的需求是这样的:

1)当我第一次选择日期时。今天之前的日期应在日历中禁用。
2) 现在,当我在日历中第二次选择日期时,该日期应从前一个日期的一天后开始。

我是这样写的......

$(function() {
$('#from').datepicker({
defaultDate: "+5d",
changeMonth: true,
numberOfMonths:1 ,
minDate:"+0d",
dateFormat: 'DD, MM d, yy',
onSelect: function(selectedDate) {
var option = this.id == "from" ? "minDate" : "maxDate";

var instance = $(this).data("datepicker");

var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);


dates.not(this).datepicker("option", option, date);

}
});

});

这非常适合一个要求,
但对于第二个要求,我需要首先检查是否有任何文本框值。如果有的话,
它应该选择直接+1到该日期,并且之前的日期应该被禁用。

如何做到这一点?

最佳答案

它在第一次单击时不显示的原因是因为您第一次单击它时,它没有注册为日期选择器。因此,它没有 onclick 事件告诉它当您单击它时应该显示任何日期选择器。

但是,在第二次单击时,您已在第一次单击期间将其设置为日期选择器(现在它有一个 onclick 事件,将在其中显示日期选择器)。触发日期选择器的 onclick 事件,显示选择器。

正如其他答案中提到的,这不是推荐的做法。但是,如果您确实想将其绑定(bind)到 onclick 而不是 onload,则可以通过执行以下操作在第一次单击时显示选择器

$(function() {
$("#datepicker").click(function() {
$(this).datepicker().datepicker( "show" )
});
});

这会将元素注册为日期选择器并同时显示它。

关于jquery - 如何在第一个 onclick 事件上运行日期选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com