Rails 3 Nested Form - jQuery Datepicker не будет загружаться при «добавлении задачи» - PullRequest
1 голос
/ 02 января 2012

Я использую Райан Бэйтс, вложенную форму драгоценного камня. - https://github.com/ryanb/nested_form

Во вложенной форме у меня есть текстовое поле для jQuery datepicker.

Моя проблема, когда я "Добавить задачу". DatePicker не отвечает.

К вашему сведению - в моем контроллере я генерирую 3 раза для вложенной формы. Все 3 сгенерированные вложенные формы, DatePicker работают. Просто, когда я добавляю новый или (удалить и повторно добавить), это не будет работать. - мой скрипт jQuery datepicker находится в application.js

Ответы [ 3 ]

2 голосов
/ 15 апреля 2013

Выглядит старым, но я публикую в основном ради себя.

Если вы используете код из приведений Райана Бейтса, у вас уже есть помощник. Я не изменил это. Я, однако, конвертировать из Coffeescript в Javascript. Я сделал это, потому что у меня был странный конфликт, который нужно было устранить. Я также сделал несколько дополнений.

Важно: для этой реализации вы должны добавить класс DatePicker.

<%= f.text_field :date_started, class: "datepicker" %>

Я создал файл javascript ресурса для этого сценария, и он работает по всему сайту, как только требуется в файл application.js.

$(document).ready(function() {
  var $j = jQuery.noConflict();

  /* Set each input item with class of datepicker to a datepicker */
  $("input.datepicker").each(function(){
    $(this).datepicker({
      dateFormat: 'yy-mm-dd',
      autoSize: true
    });
  });

  var datepicker_update = function() {
    return $("input.datepicker").datepicker({
      dateFormat: 'yy-mm-dd',
      autoSize: true
    });
  };

  $('form').on('click', '.remove_fields', function(event) {
      $(this).prev('input[type=hidden]').val('1');
      $(this).closest('fieldset').hide();
      return event.preventDefault();
    });

  $('form').on('click', '.add_fields', function(event) {
    var regexp,time;
    time = new Date().getTime();
    regexp = new RegExp($(this).data('id'), 'g');
    $(this).before($(this).data('fields').replace(regexp, time));
    event.preventDefault();
    return datepicker_update();
  });
});

Надеюсь, это поможет

Спасибо за сообщение в Добавление средства выбора даты во вложенное поле формы & JQuery UI datepicker внутри вложенных форм рельсов & Вложенная форма Rails 3 - jQuery Datepicker не загружается при "добавлении задачи"

0 голосов
/ 04 января 2012

Поместите это наверху вашего представления:

= javascript_include_tag 'datepicker'
0 голосов
/ 02 января 2012

попробуйте добавить плагин datepicker после создания строки:

это будет выглядеть так (имена функций и классов, конечно, будут другими)

function addTask()
{
   ......
   ......
   $("textfield-slector").datepicker(); 
}
...