Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2013, 20:35
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

select data-section
Добрый вечер!

Сегодня возникла проблемка. При выборе данных в select, должна меняться форма. Голова не работает совсем. alert выдает undefined. в чем ошибка, и как ее исправить?

<script type="text/javascript">
 	jQuery(document).ready(function(e) {
		jQuery('#house_type').change(function(){
		 	var id = jQuery(this).data("section");
			alert(id);		
		});
      		e.preventDefault();  
    });
 </script>

<select name="house_type" id="house_type">
 <option value="офис" data-section="offise">офис</option>
 <option value="промбаза" data-value="base">промбаза</option>
 <option value="торговые помещения" data-value="trade">торговые помещения</option>
 <option value="общепит" data-value="ashana">общепит</option>
 <option value="другое" data-value="other">другое</option>
 </select>

<div id="offise">
 Офис
 </div>
 <div id="base">
 промбаза
 </div>
 <div id="trade">
 торговые помещения
 </div>
 <div id="ashana">
 общепит
 </div>
 <div id="other">
 другое
 </div>


Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2013, 20:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Кстати, не первый раз вижу что используют jQuery вместо $. Почему?
$(this).find(':selected').data('section')
Ответить с цитированием
  #3 (permalink)  
Старый 18.03.2013, 20:47
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

Сообщение от danik.js Посмотреть сообщение
Кстати, не первый раз вижу что используют jQuery вместо $. Почему?
$(this).find(':selected').data('section')
Чтобы не конфликтовало с mootools. )) или с другими плагинами
Ответить с цитированием
  #4 (permalink)  
Старый 18.03.2013, 20:48
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

Спасибо, работает! )) +1
Ответить с цитированием
  #5 (permalink)  
Старый 18.03.2013, 20:51
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

(function($){
    $(document).ready(function(e) {
        $('#house_type').change(function(){
            var id = $(this).data("section");
            alert(id);     
        });
            e.preventDefault(); 
    });
})(jQuery);
Ответить с цитированием
  #6 (permalink)  
Старый 18.03.2013, 20:55
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

jQuery.noConflict(); И так тоже можно
Сообщение от danik.js Посмотреть сообщение
(function($){
    $(document).ready(function(e) {
        $('#house_type').change(function(){
            var id = $(this).data("section");
            alert(id);     
        });
            e.preventDefault(); 
    });
})(jQuery);
Ответить с цитированием
  #7 (permalink)  
Старый 20.03.2013, 21:37
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

Сообщение от danik.js Посмотреть сообщение
(function($){
    $(document).ready(function(e) {
        $('#house_type').change(function(){
            var id = $(this).data("section");
            alert(id);     
        });
            e.preventDefault(); 
    });
})(jQuery);
Доброй ночи, не можешь помочь? Как мне теперь при загрузке страницы определить какой элемент селекта был выделен и показать div с привязанным id?
Ответить с цитированием
  #8 (permalink)  
Старый 20.03.2013, 21:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Делай это на сервере. Иначе юзер без js вообще ничего не увидит. Если у тебя на сервере где-то проставляется selected для списка, то сделать display:block для нужного элемента тоже не должно быть проблемой.

А так - $('select').val()
Ответить с цитированием
  #9 (permalink)  
Старый 20.03.2013, 21:47
Профессор
Отправить личное сообщение для Mukhtar Посмотреть профиль Найти все сообщения от Mukhtar
 
Регистрация: 08.10.2010
Сообщений: 201

Сообщение от danik.js Посмотреть сообщение
Делай это на сервере. Иначе юзер без js вообще ничего не увидит. Если у тебя на сервере где-то проставляется selected для списка, то сделать display:block для нужного элемента тоже не должно быть проблемой.

А так - $('select').val()
я сделал ))) вот так

var id=jQuery('#house_type').find(':selected').data("section");
		if(id!=''){
			jQuery('#'+id).show();	
		}
Ответить с цитированием
  #10 (permalink)  
Старый 20.03.2013, 22:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Mukhtar
if(id!=''){
Можно просто if (id)
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод для конвертирования едениц px, em, %, pt. jegit Элементы интерфейса 0 07.03.2013 16:15
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
Подгрузка select и работа с ними после! BASSON_XVI jQuery 3 07.01.2011 11:28
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31
Динамическое обновление списка Select Fender Events/DOM/Window 3 12.06.2008 21:30