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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как лучше распарсить id элемента и выделить часть 
:(
    Опции темы
bankir
Дата 19.11.2010, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите пожалуйста с логикой распределения DOM на страничке чтобы потом было легко обрабатывать скриптом.

Написал мутно, попробую разъяснить smile

есть список товаров, у каждого товара есть уникальный id (далее в коде буду указывать как UNICID)

товар выводится списком в цикле на страничке по 10шт. Хотелось бы при редактировании полей товара пользоваться аяксом

Код


<div id='UNICID'>

<div id='foto_UNICID'>foto</div>
<div id='name_UNICID'>name of item</div>
<button id='but_UNICID'>save</button>

<div>


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

Хотелось бы при нажатии на button как-то выцепить этот UNICID чтобы в дальнейшем отправить его запросом на сервер и там уже обрабатывать его. На серваке скрипт получит этот UNICID и будет делать изменения для товара с этим id.

Подскажите пожалуйста, как лучше это сделать? Может добавить input type=hidden и в него добавить этот UNICID, потом при клике по буттону подниматься по дому выше (на 2, а может на 3 вложенных дивов выше)?
Или парсить id буттона, отрезать у него часть символов, а потом оставшееся использовать ка id?

У кого какие идеи?
Буду очень благодарен.
PM Skype   Вверх
Mavrun
Дата 19.11.2010, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



у тебя есть <div id='UNICID'>, который содержит в виде идентификатора уникальный ид (вот тут я уже не помню, может ли ID контейнера начинаться с цифр...). так вот, ты этим контейнерам с ид дописываешь class="my_class" и потом просто начинаешь исктаь в коде все дива с этим классом. найдя такие дивы, ты вытаскиваешь у них ид и содержание всего контента в этих контейнерах, а именно фото и имя. тут даже уникальные идентификаторы для фотки и имени необязательны. 
PM MAIL   Вверх
bankir
Дата 19.11.2010, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да, Вы правы, у меня коды (id берется из 1с как код товара, а там начинается с цифры (и с *, так при переносе из семерки выгрузилось))
С цифры насколько я помню действительно не может начинаться id. Поэтому скорее всего id этого дива примет вид id='div_UNICID'

Тогда наверное вот так:
Код

<div id='div_UNICID' class='item_class'>

<input type=hidden value='UNICID'>

<div id='foto_UNICID'>foto</div>
<div id='name_UNICID'>name of item</div>
<button id='but_UNICID' class='button_class'>save</button>

<div>

Код


$('.button_class').click(function(){

а что здесь делать???

});



А как узнать значение этого hidden? Если он например будет находиться сразу после главного дива, а button вложен в другой див или даже с двойным вложением
Что-то голова совсем не варит.

Самое главное забыл написать:
У меня отсылка запросов будет происходить не только по кнопке Save, а и по клику на div id='foto_UNICID, и по div id='name_UNICID' и по другим полям не указанным здесь (плагин для редактирования jquery.jeditable - кликаешь на текств и этот текст обертывается в элемент textarea).
Поэтому надо какую-то универсальную функцию по вычислению id товара

Это сообщение отредактировал(а) bankir - 19.11.2010, 13:59
PM Skype   Вверх
CruorVult
Дата 19.11.2010, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

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



можно просто разбить id елемента по знаку "_" и получить нужный  id товара
Код

var id =  el_id.split("_") //id[1] - id товара

PM MAIL Skype   Вверх
bankir
Дата 19.11.2010, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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