2012-04-29 63 views
4

如何在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吗? 在此先感谢!

回答

6

所以你想不显示日历,如果复选框被选中?

只是return false;在beforeShow。

$("#datefrom, #dateto").datepicker({ 
    dateFormat: "dd.mm.yy", 
    beforeShow: function(input, inst) { 
     if ($("#dateplanedcheck").prop('checked')) { 
      return false; 
      } 

    } 
}); 

http://jsfiddle.net/JzbPD/

答:

仍显示日历,但使其不可见:

BeforeShow不能访问桌子上的UI的日期选择器,日历,因为它不是招尚未呈现。申请一个类似$(inst.dpDiv).addClass('calendar-off'),然后有这样的风格.calendar-off table.ui-datepicker-calendar { display none; }这样的:http://jsfiddle.net/JzbPD/4

+0

嗯,没有。我希望显示日历..我只是想检查复选框时隐藏表格。其余应显示(月,年,导航,...)。请参阅http://docs.jquery.com/UI/Datepicker#theming – boschi 2012-04-29 11:39:25

+2

好的 - 从我所知道的,在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

+0

就像一个魅力工作。谢谢! – boschi 2012-04-29 12:01:35

相关问题