Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Символ * в id элемента и jQuery, не делает выборку 
V
    Опции темы
bankir
Дата 3.8.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



Всем привет!
Подскажите пожалуйста, на страничке есть элементы с символом * в атрибуте id.
Например: 
Код

<input id='quantity_*0056289'>

Со старой версией библиотеки (jQuery 1.2.6) все работало
Код

var quantity=$('#quantity_'+id).val();
alert(textid);

(в id передается *0056289) 
мне выводило содержимое инпута, а вот давеча поставил последнюю версию jQuery JavaScript Library v1.4.2 и теперь мне выдает undefined.
Я заметил, что undefined выдает если в атрибуте id есть символ *
Мне просто от этого символа никак не отказаться - это уникальный код товара по которому идет идентификация.

Так вот, подскажите пожалуйста как мне быть. Это глюк новой версии или этот символ нельзя использовать (как символы . или [ или ]). Ведь в старой версии работало.От новой версии отказываться неохото, там много вкусностей а-ля live()

Выручайте плиз.
PM Skype   Вверх
bars80080
Дата 3.8.2010, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 3
Всего: 315



Цитата(bankir @  3.8.2010,  13:13 Найти цитируемый пост)
Мне просто от этого символа никак не отказаться - это уникальный код товара по которому идет идентификация.

замени его ещё на выдачи. раз это уникальный id товара, значит он выбирается в одном месте, достаточно прописать замену на лету на некий другой символ и всё.
PM MAIL WWW   Вверх
bankir
Дата 3.8.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



спасибо за совет.
в принципе я тоже думал об этом. не хотелось бы использовать такой костыль.
надо сначала в выдаче сделать str_replace() на другой символ, который будет уникальным.
потом при передаче аяксом на стороне сервера снова делать str_replace() на *
еще надо учитывать, что если я генерирую новый элемент на лету и вставляю его аяксом - надо тоже делать замену.
слишком много надо будет всего помнить в разных местах.

просто еще есть id без *

ну что ж, придется делать костыли. Просто обидно, что в старой версии работало, но она уже устарела и надо использовать новую.
PM Skype   Вверх
bars80080
Дата 3.8.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 3
Всего: 315



ну, костыль тут всего лишь следствие использования служебного символа *, который чуть ли не в половине языков имеет самые разные назначения. надо было избегать изначально
PM MAIL WWW   Вверх
SelenIT
Дата 3.8.2010, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: нет
Всего: 401



Цитата(bankir @  3.8.2010,  13:13 Найти цитируемый пост)
этот символ нельзя использовать (как символы . или [ или ])

http://www.w3.org/TR/html401/types.html#type-id


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
bankir
Дата 3.8.2010, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



Да все эти id берутся из 1с из поля "код товара". Заводились еще до меня, а чтобы поменять нужно многое переделывать: от склеивания страниц в поисковиках (ссылки формата page.php?id=*002342) до всяких бирж.
Хотя в принципе надо всего-лишь сделать редирект на новую страницу без знака *
Кто-нибудь подскажет регулярку для mod_rewrite чтобы заменить * на другой символ (например it или просто i)? А то я в регулярных выражениях вообще не секу.
PM Skype   Вверх
bankir
Дата 4.8.2010, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



Всем спасибо! Пришлось использовать вышеописанный костыль.
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0499 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.