Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[jquery] Как получить данные атрибута data-city выбранного ID

306
03 марта 2013 года
order.daemon
275 / / 11.05.2007
Есть список в формате:

 
Код:
<div class="city-menu">
<div class="city-item selected" id="kiev" data-city="Киев">Киев</div>
<div class="city-item" id="moscow" data-city="Москва">Москва</div>
</div>
С помощью jquery сохраняю выбор пользователя, но выводится имя непосредственно активного ID, а как можно вывести не сам ID а значение атрибута data-city выбранного ID.

Вывод данных осуществляется в класс = city

Код:
var cookieName = 'UserCity';
var cookieOptions = {expires: 7, path: '/'};

$(".city").html( $.cookie(cookieName) );

$("#" + $.cookie(cookieName)).addClass("selected");
$(".city-menu .city-item").click(function(e){
e.preventDefault();
$("#" + $.cookie(cookieName)).removeClass("selected");
$.cookie(cookieName, $(this).attr("id"), cookieOptions);
$(".city-menu .city-item").removeClass("selected");
$("#" + $.cookie(cookieName)).addClass("selected");
});
P.S Если знаете как оптимизировать скрипт, буду очень благодарен.
8
03 марта 2013 года
mfender
3.5K / / 15.06.2005
Ну соответственно будет не $(this).attr("id"), а вовсе $(this).attr("data-city")
306
03 марта 2013 года
order.daemon
275 / / 11.05.2007
Немного не то, нужно чтобы сохранилась переменная как ID, так как в дальнейшем это имя на английском используется и в дальнейшем.

Нужно только вывести .attr("data-city") в класс city
306
03 марта 2013 года
order.daemon
275 / / 11.05.2007
[ ! ] Подскажите как задать значение куки по умолчанию, когда еще пользователь не выбрал пункт из списка???
306
03 марта 2013 года
order.daemon
275 / / 11.05.2007
Решил вопрос так:

это

 
Код:
$(".city").html( $.cookie(cookieName) );
заменил на это

 
Код:
$(".city").html( $("#" + $.cookie(cookieName)).attr("data-city")  );
Почему-то думал что получение атрибута осуществляется через data(), а не через attr().

Скрипт немного подправил под новые условия.
414
04 марта 2013 года
CassandraDied
763 / / 24.05.2012
Было бы хорошо, если бы кто-нибудь запили топик "FAQ по jquery для начинающих и не только". Пока его нет, спрошу тут.
Есть страница с такой структурой:
<body>
<select><option><optionN></select>
<select><option><optionN></select>
<select><option><optionN></select>
</body>
Как из третьего селекта вытащить значение, которое в текущий момент выбрано? Все селекты имеют name. Хочется написать универсальный вариант, чтобы выбирать селект именно с определённым name и бралось его значение, независимо от того, сколько селектов на странице.
414
04 марта 2013 года
CassandraDied
763 / / 24.05.2012
Вот так вот провозишься пару часов и ничего, а потом задаёшь вопрос на форуме и ответ находится через десять минут.
 
Код:
$('[name="select_name"] option:selected').text()
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог