Javascript.RU

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

Jquery многократно отправляет данные
Есть модальное окно с select. Есть табличка в ячейки которой есть ссылка при клики на которую всплывает модальное окно с формой. Далее выбираю нужное мне значение происходит событие change. В консоле вижу, что при первом change все происходит в штатном режиме, при втором, выполняется уже два раза change при следующем еще прибавляется.

Я хочу использовать Ajax но в итоге получается что отправляются сразу несколько запросов.

$(document).ready(function() {

		//Кликаем по ссылке
		$('.std').on('click', function(e){
			e.preventDefault();

			//Получаем данные атрибута data
			var id = $(this).attr('data-id');

			//Показываем модальное окно с формой
			$('#addEvent').modal('show');
			
			//Отлавливаем событие change 
			$('#sel').on('change',function(){

				//Получаем выбраный option из списка
				var stat = $('#sel :selected').val();
				console.log(stat);

				//Очищаем select, скрываем форму
				setTimeout(function(){
					$('#sel').val('');
					$('#addEvent').modal('hide');
									
				}, 1500);

			})
		});
		
	});

http://javascript.ru/forum/attachmen...d=147642841 1
Подскажите кто знает почему так происходит.
Изображения:
Тип файла: jpg ajax.jpg (111.4 Кб, 6 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2016, 10:18
Аватар для join
Профессор
Отправить личное сообщение для join Посмотреть профиль Найти все сообщения от join
 
Регистрация: 05.03.2012
Сообщений: 477

В месте где очищается select, допишите stat = ''; return stat;
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2016, 10:29
Интересующийся
Отправить личное сообщение для kuliev Посмотреть профиль Найти все сообщения от kuliev
 
Регистрация: 14.10.2016
Сообщений: 10

Спасибо за ответ.

Я использую bootstrap 3 и его модальное окно. Как я сейчас заметил, если я открываю модальное окно и потом закрываю не осуществляя события change то, когда я выбираю нужный элемент то change срабатывает ровно столько сколько раз было открыто модальное окно.

Как я понимаю, нужно как-то обнулить счетчик показов окна возможно я не прав.

В документации у bootstrap по modal ничего особенного нет.
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2016, 10:42
Интересующийся
Отправить личное сообщение для kuliev Посмотреть профиль Найти все сообщения от kuliev
 
Регистрация: 14.10.2016
Сообщений: 10

Спасибо всем, решил вопрос, но осадок остался...

В общем разделил логику скрипта, вынес событие change отдельно от тела вызова модального окна.

$(document).ready(function() {

		//Кликаем по ссылке
		$('.std').click(function(e){
			e.preventDefault();

			//Получаем данные атрибута data
			var id = $(this).attr('data-id');

			//Показываем модальное окно с формой
			$('#addEvent').modal('show');
			
		});

		//Отлавливаем событие change 
		$('#sel').change(function(){

			//Получаем выбраный option из списка
			var stat = $('#sel :selected').val();
			console.log(stat);

			//Очищаем select, скрываем форму
			setTimeout(function(){
				$('#sel').val('');
				$('#addEvent').modal('hide');		
			}, 1500);

		})
		
	});

Теперь все работает как надо )
Ответить с цитированием
  #5 (permalink)  
Старый 01.11.2018, 18:26
Новичок на форуме
Отправить личное сообщение для dasdaas Посмотреть профиль Найти все сообщения от dasdaas
 
Регистрация: 01.11.2018
Сообщений: 1

я зарегался на этом форуме только для того чтобы сказать тебе спасибо.
Сэкономил мне пару часов времени кучу нервов
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery не выполняет сценарий ! haacki jQuery 7 05.02.2014 19:43
Jquery ui-slider & Jquery selectbox, Слайдер срабатывает всего 1 раз Micher jQuery 4 31.01.2014 13:07
Данные в массив из TXT файла jQuery MasterDmx Общие вопросы Javascript 3 07.11.2013 16:09
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 09:01
ajax jQuery и IE - не обновляет данные на странице prizrak jQuery 1 03.05.2010 22:15