Перейти к публикации

Названия полей несовместимы с jQuery?


Рекомендованные сообщения

Здравствуйте. Мучаюсь с доп. полями пользователей.

Нашел проблему несовместимости из-за "закрученных" названий.

В результате функция $( '#xfield[public_tag]' ).autocomplete({ - НЕ работает

а функция $( '#xfieldpublic_tag' ).autocomplete({ РАБОТАЕТ!

Зачем [] в названиях полей и как их убрать из движка?

Спасибо.

Ссылка на сообщение
Поделиться на других сайтах

Зачем [] в названиях полей и как их убрать из движка?

Затем что это массив, а массивы это [] и убрать это нельзя.

Ссылка на сообщение
Поделиться на других сайтах

И как же подвесить jQuery к пользовательским полям?

Задать им класс или блоку родителю.

Ссылка на сообщение
Поделиться на других сайтах

А можно поподробнее про "класс задать". Возможно лучше изначально в движке правил JS придерживаться относительно имен переменных и геморроя не будет? В JavaScript для идентификатора допустима любая комбинация букв, цифр, знаков подчеркивания и знаков доллара.

Возможно лучше значения асоциированного массива для допполей использовать, а не сами члены массива, но это предложение и вопрос к разработчику.

Изменено пользователем marazm_ua
Ссылка на сообщение
Поделиться на других сайтах

Возможно лучше значения асоциированного массива для допполей использовать, а не сами члены массива, но это предложение и вопрос к разработчику.

Вообще то стандартные функции DLE, прекрасно работают с доп. полями, в том числе и для использования в AJAX и в Jquery, например быстрое редактирование новостей на сайте. Если у вас есть сложности с работой с массивами на JS, смотрите как реализована работа в стандартных функциях DLE и делайте по аналогии.

Ссылка на сообщение
Поделиться на других сайтах

Вот вам пример $( '#xfield[public_tag]' ).autocomplete, что функция autocomplete с дополнительным полем не работает. Название идентификатора xfield[public_tag] формирует DLE. Или вы не верите?

Или покажите стандартную функцию DLE для автозаполнения доп. поля.

Вот ссылка на неработающее автозаполнение со стандарными функциями http://www.durniv.net.ua/engine/inc/vv.htm

Изменено пользователем marazm_ua
Ссылка на сообщение
Поделиться на других сайтах

Вот вам пример $( '#xfield[public_tag]' ).autocomplete, что функция autocomplete с дополнительным полем не работает. Название идентификатора xfield[public_tag] формирует DLE. Или вы не верите?

Вы кроме # никаких селекторов не знаете? Jquery обладает огромным набором селекторов http://jquery.page2p...u/tags/ifr.html. Ставите <div class="myclass">{xfields}</div> потом назначаете $(".myclass input:text").autocomplete... и все прекрасно работает http://jquery.page2page.ru/index.php5/%D0%A2%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8F.

Ссылка на сообщение
Поделиться на других сайтах

Пример с селектором # взят у вас из автозаполнения тагов в новости вроде. Попробовал использовать - и грабли.

Ссылка на сообщение
Поделиться на других сайтах

marazm_ua,

Вы же пишите собственные скрипты, а для написания собственных скриптов, нужно изучать библиотеки которыми вы пользуетесь, благо документации по Jquery более чем достаточно, а не просто копировать строки. По другому к сожалению никак собственные скрипты не пишутся.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за совет. Но мне не понять, почему с селектром # функция $( '#xfield[public_tag]' ).autocomplete({ - НЕ работает

а функция $( '#xfieldpublic_tag' ).autocomplete({ РАБОТАЕТ!

Не работает никак. Помогите. http://www.durniv.ne...gine/inc/vv1.htm

Вопрос - в <div class="myclass">{xfields}</div> все так и оставлять или заменить xfields на конкретне допполе?

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за совет. Но мне не понять, почему с селектром # функция $( '#xfield[public_tag]' ).autocomplete({ - НЕ работает а функция $( '#xfieldpublic_tag' ).autocomplete({ РАБОТАЕТ!

Потому что квадратные скобки в селекторах зарезервированы под другие цели.

Вопрос - в <div class="myclass">{xfields}</div> все так и оставлять или заменить xfields на конкретне допполе?

Вам виднее, зависит от того что вам нужно. Если нужно только одно поле, то можете сразу поставить нужное вам доп. поле

Ссылка на сообщение
Поделиться на других сайтах

marazm_ua, напишите мне в Skype. Я попробую Вам помочь :)

Ссылка на сообщение
Поделиться на других сайтах

Эврика! Заслешовать, оказывается, можно то, что прямо не поддерживается - #xfield[public_tag И все получилось автокопплект работает.

Но имена идентификаторов лучше выбирать правильные. И без классов обошлись и переписки кода. Век живи - век учись. Спасибо DLE за науку.

Изменено пользователем marazm_ua
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...