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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вытащить Value из input через jQuery 
:(
    Опции темы
Innuendo108
Дата 1.10.2009, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

    var group = document.getElementById("gr").value;  // из input'a считали значение
    document.getElementById("headGroup").innerHTML = group;   // и вставили в Div


Как это сделать на jQuery?
если я делаю var group = $("#gr").value, то group принимает значение undefined.
PM MAIL   Вверх
unicross
Дата 1.10.2009, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

$("#headGroup").html($("#gr").val());


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


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(Innuendo108 @  30.9.2009,  23:02 Найти цитируемый пост)
то group принимает значение undefined. 

а все потому, что выполнение jQuery('<выражение>') возвращает не один DOM-элемент, а коллекцию объектов типа jQuery.
чтоб получить доступ к DOM-свойствам, надо либо:
1. а. получить конкретный DOM-элемент при помощи get():
Код

$("#gr").get(0).value

б. пройтись функцией по всей коллекции:
Код

$("#gr").each(function() {... this.value ...});

2. искать в документации к jQuery эквиваленты нужных тебе DOM-функций(вот, как привел пример unicross с метдом val(), который будет работать не только для input'ов, но и select'ов с textarea'ми).
второй вариант, конечно, получше будет: jQuery мощная платформа и использовать её только для поиска элемента - преступление.
PM MAIL   Вверх
brother79
Дата 2.10.2009, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(skyboy @  1.10.2009,  09:47 Найти цитируемый пост)

а все потому, что выполнение jQuery('<выражение>') возвращает не один DOM-элемент, а коллекцию объектов типа jQuery.
чтоб получить доступ к DOM-свойствам, надо либо:



Что-то я ничего не понял:

1) если по id должен выбраться только один объект, зачем делать 

Код

$("#gr").get(0)

или .each
2) смысл доставать по .get(0), если есть .attr ?

Добавлено через 6 минут и 1 секунду
Ну и использовать .each, чтобы у всех эл-тов усстановить значение - тоже не понятно, есть .val() который у всех сразу усстанавливает значения.

И вообще jquery придумали для того, чтобы сократить максимально размер, в связи с чем стандартные конструкции обращения к dom эл-там нужны крайне редко, когда есть куча возможностей сократить код посредством jquery, иначе смысл вообще в Jquery?


--------------------
PM MAIL WWW   Вверх
InfMag
Дата 2.10.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

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



Код

var group = document.getElementById("gr").value;  // из input'a считали значение
document.getElementById("headGroup").innerHTML = group;   // и вставили в Div


Код

$("#headGroup").html($("#gr").val());

PM   Вверх
skyboy
Дата 7.10.2009, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(brother79 @  2.10.2009,  09:04 Найти цитируемый пост)
если по id должен выбраться только один объект, зачем делать 

затем, что jQuery вернет не DOM элемент, а объект jQuery. и чтоб получить доступ к DOM-свойствам, надо вызывать get(). разве нет?
да, в случае с jquery-методами val() отлично скрывает работу с DOM-функциями. И я привел методы доступа к свойствам/методам DOM только затем, чтоб объяснить - jQuery('#gr') возвращает не HTMLNode, а jQuery-объект и если уж сильно хочется работать с DOM, надо делать дополнительные телодвижения.
PM MAIL   Вверх
Kuznec
Дата 30.9.2013, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В поиске



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.4.2007
Где: КМА

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



Цитата(brother79 @  2.10.2009,  10:04 Найти цитируемый пост)
2) смысл доставать по .get(0), если есть .attr ?


Ага, использовал ранее attr. Видимо долго не программил на jQuery. Поднял ранее начавший проект, увидел, что вышли новые версии jQuery & UI. Подсоединил. Перестала функция attr('value') считывать текст, введённый с клавиатуры. Заменил jQuery & UI на старый - заработало. На последние - нет. Так и решил вставить get(0).value - теперь работает. Что за глюк такой... Вот так потом решишь обновить библиотеку, ещё что-нибудь отвалится.
PM MAIL WWW   Вверх
InfMag
Дата 30.9.2013, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

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



Цитата(Kuznec @ 30.9.2013,  19:15)
Цитата(brother79 @  2.10.2009,  10:04 Найти цитируемый пост)
2) смысл доставать по .get(0), если есть .attr ?


Ага, использовал ранее attr. Видимо долго не программил на jQuery. Поднял ранее начавший проект, увидел, что вышли новые версии jQuery & UI. Подсоединил. Перестала функция attr('value') считывать текст, введённый с клавиатуры. Заменил jQuery & UI на старый - заработало. На последние - нет. Так и решил вставить get(0).value - теперь работает. Что за глюк такой... Вот так потом решишь обновить библиотеку, ещё что-нибудь отвалится.

Некропостинг в тему 4-лётней давности однако)

А вообще может имеет смысл .val() использовать, а не .attr('value'), по-назначению так сказать?
PM   Вверх
Kuznec
Дата 4.10.2013, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В поиске



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.4.2007
Где: КМА

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



Цитата(InfMag @  30.9.2013,  20:53 Найти цитируемый пост)
А вообще может имеет смысл .val() использовать, а не .attr('value'), по-назначению так сказать? 


Да, потом так и сделал.

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


 




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


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

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