JQuery DatePicker Справка по клику - PullRequest
1 голос
/ 22 мая 2011

Я занимаюсь разработкой с помощью php и пытаюсь внедрить средство выбора даты jquery в свое приложение. Я пытаюсь отобразить средство выбора даты, которое связано с конкретным полем ввода. У меня есть следующий код. Проблема в том, что при первом нажатии на вход ничего не происходит. Только когда я расфокусируюсь и затем снова нажму на него, он отобразит сборщик. Как заставить его отображать средство выбора даты при первом нажатии?

<script>
function open_picker(X)
    {
        $( X ).datepicker({
            autoSize: true,
            showOtherMonths: true,
            selectOtherMonths: true });       
    };
</script>
<?php $datepickerid = "datepicker" ?>
<input id='<?php echo $datepickerid; ?>' onClick='open_picker("<?php echo "#".$datepickerid; ?>");' type='text' value='05/21/2011' size='10'>

Мне нужно передать входные идентификаторы через функцию, потому что я буду использовать цикл php для создания входов DatePicker с разными идентификаторами.

Заранее спасибо!

1 Ответ

2 голосов
/ 22 мая 2011

Если вы используете JQuery UI Datepicker ваша функция open_picker () не открывает палитру дат. Этот код привязывает средство выбора даты к входу, переданному как параметр X. Поэтому при первом щелчке ничего не происходит: потому что средство выбора даты создано при первом нажатии. То, что вам нужно сделать, чтобы создать несколько сборщиков дат по php, выглядит примерно так:

<script type="text/javascript">
   <?php
   $datepickers_ids = array("#all", "#the", "#datepickers", ".selectors");
   for($i = 0; $i < count($datepickers_ids); $i++) { ?>
      $("<?php print $datepickers_id[$i]; ?>").datepicker();
   <?php } ?>
</script>

Это создаст указатель даты для каждого селектора в $ datepickers_ids

...