使用Select with jQuery datepicker的语法

时间:2011-07-13 09:59:22

标签: jquery datepicker onselect

很简单,我希望。当我点击jQuery的datepicker中的日期时,我正试图让div变为淡入淡出:

<!DOCTYPE html>
<html>
<head>
  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
  <script type="text/javascript" src="../datepicker/jquery.ui.core.js"></script>
  <script type="text/javascript" src="../datepicker/jquery.ui.widget.js"></script>
  <script type="text/javascript" src="../datepicker/jquery.ui.datepicker.js"></script>

  <script>
  $(document).ready(function() {
    $('#datepicker').datepicker();
    $('#datepicker').datepicker({
        onSelect: function(dateText, inst) {
        $('#foo').fadeIn();
        });
    });
  });
  </script>
</head>
<body style="font-size:62.5%;">

<p>Choose a date: <input id="datepicker" type="text"></p>

<div id="foo">FOO</div>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

1。您的代码有一个额外的括号和一个分号,请参阅下面代码的注释:

$(document).ready(function() {
    $('#datepicker').datepicker();
    $('#datepicker').datepicker({
        onSelect: function(dateText, inst) {
        $('#foo').fadeIn();
        }); // <-- HERE, it should be just }
    });
});

这是正确的代码:

$(document).ready(function() {
    $('#datepicker').datepicker({
        onSelect: function(dateText, inst) {
            $('#foo').fadeIn();
        }
    });
});

2。没有必要将datepicker()两次附加到相同的元素,您只需使用适当的参数分配一次,因此我删除了额外的$('#datepicker').datepicker()

3。你应该隐藏元素,以便在你淡入它之前保持隐藏。使用这个CSS:

#foo{
    display: none;
}

Check a demo here »

答案 1 :(得分:0)

你的javascript有错误,另一个问题是你不能fadeIn()一个可见的元素:你必须先隐藏它。

试试这个:

$(document).ready(function() {
    $('#foo').hide();
    $('#datepicker').datepicker({
        onSelect: function(dateText, inst) {
            $('#foo').fadeIn();
        }
    });

    });

小提琴:http://jsfiddle.net/vH4HV/1/