如何在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