@Tutucu

Jquery и добавление новых полей. Как поставить обработчик на динамически создаваемые поля?

Создал своё поле (2 скрытых и 1 textfield), приписал к ним autocomplete со своими виджетами(фабрика виджетов) - для первого поля всё происходит хорошо, но вот при добавлении нового поля (в настройках поставил неограниченное количество полей) и добавлении текста в новое поле обработчик начинает изменять данные во всех предыдущих полях, пробовал применять once() не помогло.
Вот места, где используются селекторы:
Drupal.behaviors.jqe = {
  attach: function (context, settings) {
 
	$('.fields-nazvaniye').once('demo-fields', function () {
        $(".fields-nazvaniye", context).makeJqeAutocomplete();
      });
  }// attach
};

В селекте .makeJqeAutocomplete();
select: function(event, ui) {
        // nid скрытому полю.
        $('#fields_href').val(ui.item ? ui.item.value.href : 0);
        // текст - в поле.
        $input.val(ui.item ? ui.item.value.title : this.value);
		$('#fields_class').val(ui.item ? ui.item.value.class : '');
        return false;
      }
    });
    return this;
  };


Искал в интернете и подобных проблем не встретил. Помогите пожалуйста, уже 5 день не могу решить. Если нужно могу дать весь код виджета.
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
afi13
@afi13
Рискну предположить, что у вас враппер над всеми полями один и тот же с классом fields-nazvaniye, поэтому отрабатывает для всех полей.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы