Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery ui日期选择器中显示其他月份_Jquery_Jquery Ui_Datepicker_Jquery Ui Datepicker - Fatal编程技术网

在jquery ui日期选择器中显示其他月份

在jquery ui日期选择器中显示其他月份,jquery,jquery-ui,datepicker,jquery-ui-datepicker,Jquery,Jquery Ui,Datepicker,Jquery Ui Datepicker,我需要在我的jQueryUI日期选择器中将其他月份显示为“-” $( "#datepicker" ).datepicker({ showOtherMonths: true }); 上面的代码显示了其他月份的日期。但是,我需要将其他月份的日期显示为“-” 例如 请任何人帮忙。我检查了jQueryUI的日期选择器控件中使用的CSS。他们使用classui priority secondary表示其他月份的日期 因此,您可以使用jQuery定位使用该特定类的元素,并将HTML替换为-并将其

我需要在我的jQueryUI日期选择器中将其他月份显示为“-”

$( "#datepicker" ).datepicker({
    showOtherMonths: true
});
上面的代码显示了其他月份的日期。但是,我需要将其他月份的日期显示为“-”

例如


请任何人帮忙。

我检查了jQueryUI的日期选择器控件中使用的CSS。他们使用class
ui priority secondary
表示其他月份的日期

因此,您可以使用jQuery定位使用该特定类的元素,并将HTML替换为
-
并将其居中

我尝试了以下方法,效果很好

$('.ui datepicker calendar.ui priority secondary').html('-').css('text-align','center')

希望有帮助

更新:


因为我只使用
Firebug
控制台检查了它,所以没有看到它不会在正确的时间应用的场景。已经指出了这一点,并且有了一个有效的解决方案。

我找不到任何东西可以让你控制显示在“其他月份”单元格中的文本,但你可以绕着它胡乱转

古甘尼山。T在正确的轨道上。但棘手的部分是在正确的时间应用变化。
beforeShow
onChangeMonthYear
事件是在显示新月份之前触发的,并且这些事件的版本在之后。在这种情况下,我通常的技巧是使用零超时,这可以有效地让您在浏览器再次获得控制权并且在当前JavaScript块完成运行之后,将要调用的函数排队。所以,像这样的事情应该可以做到:

function ickyHyphenKludge(inst) {
    setTimeout(function() {
        inst.dpDiv.find('.ui-datepicker-other-month span.ui-state-default').html('-');
    }, 0);
}

$("#datepicker").datepicker({
    showOtherMonths: true,
    selectOtherMonths: false,
    beforeShow: function(input, inst) {
        ickyHyphenKludge(inst);
    },
    onChangeMonthYear: function(year, month, inst) {
        ickyHyphenKludge(inst);
    }
});
演示:


这很难理解,也很难闻,但它可以工作,它应该很坚固,我想不出任何其他方法。

问题在于,在正确的时间应用,datepicker中的HTML会在每个月发生变化时重新生成(包括初始显示)因此,在jQueryUI使用HTML完成后,需要一些技巧来获取连字符。但是在正确的轨道上获得+1。接得好!我用firebug控制台检查它。因为它被应用在已经渲染的日历上,所以我很激动;)谢谢