Как мне заставить загрузчик даты jQuery правильно загружаться на моей странице Rails? - PullRequest
0 голосов
/ 10 ноября 2011

В моем Rails-проекте у меня сейчас есть следующее:

= f.label :created_at_gteq
= f.text_field :created_at_gteq, { :class => "ui-date-picker hasDatepicker" }
= f.label :created_at_lteq
= f.text_field :created_at_lteq, { :class => "ui-date-picker hasDatepicker" }

, который генерирует следующее:

<label for="q_created_at_gteq">Created at greater than or equal to</label>
<input class="ui-date-picker hasDatepicker" id="q_created_at_gteq" name="q[created_at_gteq]" size="30" type="text">
<label for="q_created_at_lteq">Created at less than or equal to</label>
<input class="ui-date-picker hasDatepicker" id="q_created_at_lteq" name="q[created_at_lteq]" size="30" type="text">

В моем application.js у меня есть следующее:

//Makes calendar UI popup on date fields
$(function () {
  // Initializers and variables
  $.datepicker.setDefaults({ dateFormat: 'yy-mm-dd' });
  console.log($('input.ui-date-picker').datepicker());
});

При загрузке страницы в моей консоли javascript возвращается следующее:

[<input class=​"ui-date-picker hasDatepicker" id=​"q_created_at_gteq" name=​"q[created_at_gteq]​" size=​"30" type=​"text">​
, 
<input class=​"ui-date-picker hasDatepicker" id=​"q_created_at_lteq" name=​"q[created_at_lteq]​" size=​"30" type=​"text">​]

До конца тега body вставляется следующий HTML-код:

<div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>

Итак, я знаю, что он находит правильные входные данные и даже выглядит как попытка добавить сборщик данных в DOM, однако в добавляемом div отсутствует весь контент внутри div, а также встроенные стили, которые позиционируют это правильно, поэтому средство выбора даты не появляется, когда я нажимаю на поля даты.

Есть идеи, почему он неправильно возвращает указатель даты?

Спасибо за поиск.

1 Ответ

1 голос
/ 10 ноября 2011

Кажется, проблема с несколькими классами с элементом ввода.

Демо - http://jsfiddle.net/ffwr2/4/

Удален hasDatepicker для первого элемента, и он работал нормально.
Принимая во внимание, чтовторая все еще не работает.
Удалить для обоих, и оба должны работать.

...