Синтаксис для использования onSelect с датой выбора jQuery - PullRequest
0 голосов
/ 13 июля 2011

Достаточно просто, я надеюсь.Я пытаюсь получить div для fadeIn, когда нажимаю на дату в окне выбора даты jQuery:

<!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 ]

1 голос
/ 13 июля 2011

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;
}

Проверьте демонстрацию здесь "

0 голосов
/ 13 июля 2011

У вас есть ошибки в вашем javascript, и другая проблема заключается в том, что вы не можете fadeIn () видимый элемент: вы должны скрыть его раньше.

Попробуйте это:

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

    });

скрипка: http://jsfiddle.net/vH4HV/1/

...