datepickerが既に初期化された後、ui-datepicker-calendarクラスのCSS表示属性を変更するにはどうすればよいですか?私はこの表の表示を切り替える選択可能なチェックボックスを持つHTMLフォームを持っています。私は、次のことを試してみた:jQuery datepicker - initの後に.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
ああ、私が言うことができるから、BeforeShowではまだレンダリングされていないので、テーブルのui-datepicker-calendarにアクセスすることはできません。あなたができることは、 '$(inst.dpDiv).addClass( 'calendar-off')'のようなクラスを適用し、 '.calendar-off table.ui-datepicker-calendar {display none; } 'これは? http://jsfiddle.net/JzbPD/4/ – Benno
井戸のようにうまくいった。ありがとう! – boschi