Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   select data-section (https://javascript.ru/forum/events/36530-select-data-section.html)

Mukhtar 18.03.2013 18:35

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>


Заранее спасибо

danik.js 18.03.2013 18:43

Кстати, не первый раз вижу что используют jQuery вместо $. Почему?
$(this).find(':selected').data('section')

Mukhtar 18.03.2013 18:47

Цитата:

Сообщение от danik.js (Сообщение 241414)
Кстати, не первый раз вижу что используют jQuery вместо $. Почему?
$(this).find(':selected').data('section')

Чтобы не конфликтовало с mootools. )) или с другими плагинами

Mukhtar 18.03.2013 18:48

Спасибо, работает! )) +1

danik.js 18.03.2013 18:51

(function($){
    $(document).ready(function(e) {
        $('#house_type').change(function(){
            var id = $(this).data("section");
            alert(id);     
        });
            e.preventDefault(); 
    });
})(jQuery);

Mukhtar 18.03.2013 18:55

:agree: jQuery.noConflict(); И так тоже можно
Цитата:

Сообщение от danik.js (Сообщение 241418)
(function($){
    $(document).ready(function(e) {
        $('#house_type').change(function(){
            var id = $(this).data("section");
            alert(id);     
        });
            e.preventDefault(); 
    });
})(jQuery);


Mukhtar 20.03.2013 19:37

Цитата:

Сообщение от danik.js (Сообщение 241418)
(function($){
    $(document).ready(function(e) {
        $('#house_type').change(function(){
            var id = $(this).data("section");
            alert(id);     
        });
            e.preventDefault(); 
    });
})(jQuery);

Доброй ночи, не можешь помочь? Как мне теперь при загрузке страницы определить какой элемент селекта был выделен и показать div с привязанным id?

danik.js 20.03.2013 19:46

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

А так - $('select').val()

Mukhtar 20.03.2013 19:47

Цитата:

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

А так - $('select').val()

я сделал ))) вот так

var id=jQuery('#house_type').find(':selected').data("section");
		if(id!=''){
			jQuery('#'+id).show();	
		}

danik.js 20.03.2013 20:03

Цитата:

Сообщение от Mukhtar
if(id!=''){

Можно просто if (id)


Часовой пояс GMT +3, время: 12:53.