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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вызов функции в JQuery 
V
    Опции темы
anonym
Дата 31.1.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Пытаюсь разобраться с этой библиотекой. Пока нашёл много примеров, где например всем элементам с таким-то тэгом приписывается обработчик события. А как сразу выполнить какой-то код, скажем, для всех div-ов вывести значения их id?
PM MAIL   Вверх
ksnk
Дата 31.1.2008, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



anonym, Куда, интересно, вывести?
Код

result=[];
$('div').each(function(){result.push(this.id||'never-use-this-damn-id')})
alert(result);



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
bars80080
Дата 31.1.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



Код

var divel = document.getElementsByTagName('div');
for(i=0; i<divel.length; i++) {
alert(divel[i].id); }

PM MAIL WWW   Вверх
anonym
Дата 31.1.2008, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ksnk, да, именно так я хотел, спасибо)
bars80080, тоже можно, но мне нужно было именно через JQuery

Это сообщение отредактировал(а) anonym - 31.1.2008, 12:01
PM MAIL   Вверх
ksnk
Дата 31.1.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



bars80080
Цитата(anonym @  31.1.2008,  10:42 Найти цитируемый пост)
Пытаюсь разобраться с этой библиотекой

И еще, хотелось бы мне посмотреть, как ты будешь исполнять свой код на страничке с сотней дивов в FireFox'е ;-)


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
anonym
Дата 31.1.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну, див это я так для примера просто взял) На самом деле я пытаюсь реализовать динамически добавляемые формы ввода (как на многих сайтах, типа жмёшь на плюсик, появляется ещё одна такая же). И для этого нужно получить все id-шникиш input-ов старой формы, чтобы для новой формы поставить другие id-шники.

Добавлено через 6 минут и 20 секунд
Вот кстати ещё вопрос. Всегда ли функция будет применяться к элементом в том же порядке, в котором они идут в документе?
PM MAIL   Вверх
ksnk
Дата 31.1.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



А зачем нужны ID-шники форме? Форме нужны имена (name) ...
Цитата(anonym @  31.1.2008,  12:09 Найти цитируемый пост)
Всегда ли функция будет применяться к элементом в том же порядке, в котором они идут в документе?

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


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
anonym
Дата 31.1.2008, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(ksnk @  31.1.2008,  12:25 Найти цитируемый пост)
А зачем нужны ID-шники форме? Форме нужны имена (name) ...

ну, наверное ты прав... хотя это же почти одно и то же)
PM MAIL   Вверх
Dr.Zlo
Дата 31.1.2008, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мне кажется уже если использовать jQuery, так использовать:

Код

$('div').each( function(){
alert($(this).attr('id'))
})


anonym, если нужно добавить к форме инпут, при этом чтоб не получилось 2х элементов с одинаковым id, тебе нужно что-то вроде этого: 

Код


$(input_obj).parent().append($(input_obj).clone().attr('id', $(input_obj).attr('id')+'_new'));



в input_obj должен лежать селект, который нужно клонировать
PM MAIL   Вверх
anonym
Дата 31.1.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Dr.Zlo, да, достаточно элегантно. Но мне нужно чтобы например юзер нажал три раза на плюсик, потом одну форму удалил (например вторую), и чтобы после этого соответствующие поля в оставшихся формах были например name1, lastname1, name2, lastname2. То есть чтобы всегда были пронумерованы по порядку. Я думал сделать функцию, которя будет вызываться при добавлении или удалении, будет получать формы по порядку (?) и расставлять нужные id. Может и глупо и не надёжно, но по другому пока не придумал...
PM MAIL   Вверх
Dr.Zlo
Дата 31.1.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



anonym, в таком случае я бы на твоём месте продублировал бы основание имени инпута в его классе:

<input type="text" class="name" name="name1">

Именование можно реализовать таким способом:

Код

$(input_obj).parent().append($(input_obj).clone());
var class_name = $(input_obj).attr('class');
var i=0;
$('.'+class_name).each(function(){
    i++;
    $(this).attr('name', class_name+i)
})


Т.е. сначала добавляем клон данного селекта, потом перебираем все селекты с классом name и задаём им имена name1, name2, name3...
PM MAIL   Вверх
anonym
Дата 31.1.2008, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Dr.Zlo, ну да, логично. Я бы тоже так сделал. Просто тогда получается 
Цитата(ksnk @  31.1.2008,  12:25 Найти цитируемый пост)
признак не очень удачного планирования приложения... ;-)
 
PM MAIL   Вверх
Dr.Zlo
Дата 31.1.2008, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Возможно в данном случае можно обойтись без класса, придумать какой-нибудь свой атрибут onunymous_attr и туда запихивать основание названия, можно вообще обойтись без этого именовать инпуты name="name_1" потом с помощью split('_')[0] и других манипуляций переименовывать селекты, можно придумать ещё миллиард способов, всё зависит от вашего вероисповедания и взглядов на действительность smile

Это сообщение отредактировал(а) Dr.Zlo - 31.1.2008, 17:24
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




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


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

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