jQuery datepicker onSelect调用.append()无效

jQuery datepicker onSelect调用.append()无效,jquery,datepicker,Jquery,Datepicker,我试图将所选日期附加到jQuery日期选择器的标题部分。然而,当我在datepicker的onSelect上有如下内容时,我看不到任何更改 $(".ui-datepicker-month").append('foo'); …但是,当我在控制台中运行这一行时,它会像我预期的那样工作。有人能帮我理解为什么吗 嗯,这可能是一个很大的工作,但它解决了问题 这是小提琴: 我基本上是使用 $datepicker.attr'data-date',d.getDate+1 然后您需要创建31个css代码,如下所

我试图将所选日期附加到jQuery日期选择器的标题部分。然而,当我在datepicker的onSelect上有如下内容时,我看不到任何更改

$(".ui-datepicker-month").append('foo');
…但是,当我在控制台中运行这一行时,它会像我预期的那样工作。有人能帮我理解为什么吗


嗯,这可能是一个很大的工作,但它解决了问题

这是小提琴:

我基本上是使用

$datepicker.attr'data-date',d.getDate+1

然后您需要创建31个css代码,如下所示:

日期选择器[数据日期=6]。ui日期选择器月份:之后 { 内容:6,, }

小提琴提供6、7和8作为样本。希望这有帮助,我也希望你能找到一个简单的解决办法

注意:就我个人而言,当我需要使用具有许多自定义功能的组件时,我更喜欢从头开始制作自己的组件。总体而言,这是一项较少的工作。我曾经做过一个像数据采集器一样的。。。它没有那么难,提供了大量用户友好的附加功能

下面是一个生成css的简短ruby循环:

(1..31).each do |i|
    p "#datepicker[data-date='#{i}'] .ui-datepicker-month:after { content: ' #{i},' }"
end

与其将内容插入datepicker元素本身,不如直接在每个日期选择器之后附加自己的div,然后使用该元素保存内容?使用insertAfter添加元素,然后使用next访问它。比如:

$("<div></div>").insertAfter(".ui-datepicker-month");

$("ui-datepicker-month").datepicker({
    onSelect: function(dateText, inst) {
        $(this).next().html(dateText);
    }
});
使用setTimeout和momente.js重写ui datepicker monthseems的整个html是最好的方法


我发现了问题所在。我尝试运行console.log$.ui-datepicker-month.html。这也给了我正确的输出。请注意,即使通过inspect元素删除标题面板的一部分或整个标题面板,它也会在单击日期后返回。这清楚地表明,在调用onselect事件之后,datepicker似乎在每个select上重新创建整个标题面板。您可以查找在重新创建面板后调用的事件,或者作为最后手段,您可以使用setTimeout函数,这是不推荐的。@NevilleNazerane,啊,是的,很好,谢谢。我在寻找这样的事件。但同时setTimeout:setTimeout函数还需要一个interval参数,用于指定运行代码所需的时间。在下面的例子中,我把它定为800,因为1秒似乎太长了。你可以随意增减。我还注意到.getDate函数给出了date-1,所以我添加了1,假设您想显示日期。您也可以使用js生成循环。考虑到js控制台是访问速度最快的,它会更快。实际上,这是行不通的。。。因此,上个月和下个月的某些日子是可以点击的。例如,下个月的1号可能是可点击的,比如说8月1号,那么7月1号,当需要在8月1号时就会显示出来。采用setTimeout方法。很抱歉修改答案,接受……我觉得看到2016年7月32日很有趣哦,我明白了。我误解了你的意图。