Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2014, 13:44
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

Почему нет метода "on"
Здравствуйте!

Попробовал реализовать отображение картинки в зависимости от выбранного значения в select с id 'baget_select'.
Вот подопытная страница, упражняюсь с обработкой выбора значения в select'е "Тип багета".
Среди ошибок в коде увидел:
Цитата:
Uncaught TypeError: Object [object Object] has no method 'on'
но не знаю как с ней быть. Jquery библиотеки подключены. Может они старые?..

Что я делал:
1. создал файл /templates/za-mag/js/abv347.js следующего содержания:
jQuery(function($) {
	$('#baget_select').on('change', function(){
		$('.myImg').remove();
		if($(this).val()=="5723"){
			$( '.product-field-type-S').after( '<img class="myImg" src="/images/banners/'+$(this).val()+'.jpg" alt="Тёмный багет" title="Тёмный багет" />' );
		}
		else{
			$( '.product-field-type-S').after( '<img class="myImg" src="/images/banners/'+$(this).val()+'.jpg" alt="Светлый багет" title="Светлый багет" />' );
		}
	});
});

2. Прописал в index.php шаблона подключение .js файла:
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/abv347.js"> </script>


3. Выложил картинки 5723.jpg и 5724.jpg в /images/banners

Вопрос, что надо исправить, чтобы заработало появление картинок?

Последний раз редактировалось borus, 25.01.2014 в 15:17.
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2014, 14:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от borus
Почему нет метода "on"
потому что его нет ... в jQuery ниже 1.7 а у вас jQuery v1.6.4
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2014, 14:33
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

скажите, если поставить 1.7, то есть вероятность, что что-то перестанет работать?
А есть альтернатива on в 1.6.4?
Ответить с цитированием
  #4 (permalink)  
Старый 25.01.2014, 14:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от borus
А есть альтернатива on в 1.6.4?
live
Ответить с цитированием
  #5 (permalink)  
Старый 25.01.2014, 16:03
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

обошелся jquery1.7.2
скажите, а как получить выбранное значение для селекта?
у меня в коде обработчика изменения select используется $(this).val(), а надо именно то, что отображается после выбора в выпадающем списке
Ответить с цитированием
  #6 (permalink)  
Старый 25.01.2014, 16:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от borus
у меня в коде обработчика изменения select используется $(this).val(), а надо именно то, что отображается после выбора в выпадающем списке
$(this).val() отображает неверно или как?
Ответить с цитированием
  #7 (permalink)  
Старый 25.01.2014, 16:25
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

чтобы было понятнее картинка:
http://storage9.static.itmages.ru/i/...0feb793567.jpg
как выбрать слова, а не цифры?
у меня, судя по тому, что название картинки формирую из значения $(this).val(), берутся значения атрибутов value select'a, а нужно как-то выйти на слова "темный" и "светлый"
Пытаюсь так, но не срабатывает
$(this :selected).text()
Как будет правильно?

Последний раз редактировалось borus, 25.01.2014 в 16:46.
Ответить с цитированием
  #8 (permalink)  
Старый 25.01.2014, 16:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

borus,
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>

$(function(){
     var sel = $('#baget_select'),
     foo = function(){alert($(':selected',sel).text())};
     foo();
     $('body').on('change', sel, foo)
});

</script>
</head>
<body>
 <select id="baget_select" name="" size="1" >
 <option value="12345">светлый</option>
 <option value="5723">темный</option>
 </select>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему то работает, то нет? gyunduz Общие вопросы Javascript 0 22.01.2011 16:08
Анимация. Помогите понять почему не работает. kadurban jQuery 4 08.07.2010 20:50
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09