如何在datepicker已经初始化后更改ui-datepicker-calendar类的css显示属性?我有一个可选的复选框的html表单,我想从中切换此表的显示。我已经试过如下:jQuery datepicker - 在初始化后更改.ui-datepicker-calendar的显示内容
HTML样本:
<div class="row">
<div class="adddescr"><label for="date">Zeitraum:</label></div>
<div class="addinput" id="date"><input type="text" id="datefrom" name="datefrom" class="date" /> - <input type="text" id="dateto" name="dateto" class="date" /></div>
</div>
<div class="row">
<div class="addinput"><label><input type="checkbox" id="dateplanedcheck" /> grobe Planung</label></div>
</div>
JS第一种方法:
<script>
$(document).ready(function() {
$("#datefrom, #dateto").datepicker({ dateFormat: "dd.mm.yy",
[...]
beforeShow: function(input, inst) {
if ($("#dateplanedcheck").is(':checked')) {
$(".ui-datepicker-calendar").css("display", "none");
}}
});
[...]
});
<script>
的beforeShow被调用,但仍显示压延。
JS第二种方法:
<script>
$(document).ready(function() {
[....]
$("#dateplanedcheck").change(function() {
if ($(this).is(':checked')) {
$(".ui-datepicker-calendar").css("display", "none");
}
});
});
</script>
我缺少什么?这甚至可以用jQuery吗? 在此先感谢!
嗯,没有。我希望显示日历..我只是想检查复选框时隐藏表格。其余应显示(月,年,导航,...)。请参阅http://docs.jquery.com/UI/Datepicker#theming – boschi 2012-04-29 11:39:25
好的 - 从我所知道的,在BeforeShow中,您无法访问表格上的ui-datepicker-calendar,因为它尚未呈现。你可以做的就是申请一个像'$(inst.dpDiv).addClass('calendar-off')'的类,然后使用'.calendar-off table.ui-datepicker-calendar {display none;这样? http://jsfiddle.net/JzbPD/4/ – Benno 2012-04-29 11:45:57
就像一个魅力工作。谢谢! – boschi 2012-04-29 12:01:35