在条件下打开datepicker

时间:2014-05-16 13:54:19

标签: javascript jquery jquery-ui jquery-ui-datepicker preventdefault

我希望我的日期选择器只能在条件下打开,在这种情况下是一个类的存在,这里是不可用的代码:

$('.ui-datepicker-trigger').click(function(e){
    if ($(this).hasClass('disableDatepicker')) {
        e.preventDefault();
    }
});

谢谢!

3 个答案:

答案 0 :(得分:1)

这应该是工作

$("input").datepicker({ 
         beforeShow: function(a,b){ 
             if ($(this).hasClass('disableDatepicker')) return false;  
         } 
});

http://jsfiddle.net/scTwm/2/

答案 1 :(得分:0)

尝试使用'not'选择器或方法

选择

$('.ui-datepicker-trigger:not(.disableDatepicker)').click(function(e){
    //your code
});

方法

$('.ui-datepicker-trigger').not('.disableDatepicker').click(function(e){
    //your code
});

答案 2 :(得分:0)

它与你所做的类似,你可以在这里找到我为你创建的实例(http://jsbin.com/kikok/1/)。

或者检查一下自解释的代码:

$(document).ready(function(){

  $(".click").on("click", function(e){

     if ( $(this).hasClass("prevent") ) {
       console.log("hasClass prevent!");
       e.preventDefault();
     }

  });

});

html:

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<meta name="description" content="" />
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>

  <a class="click" href="//google.com" target="_blank">Click1</a>
    <a class="click prevent"  href="//google.com" target="_blank">Click2</a>

</body>
</html>

希望这有帮助!