Javascript.RU

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

multiselect - отстаем на событие
Всем бобра, форумчане!
Итак, суть. Есть некий мултиселект, с чекбоксами
...
<div class="ms-parent multiselects7" style="width: 92%; display: block;">
    <button type="button" class="ms-choice">
        <span class=""> Ис</span>
        <div class="open"></div>
    </button>
    <div class="ms-drop bottom" style="display: block;">
        <ul style="max-height: 250px;">
            <li class="ms-select-all"><label><input type="checkbox" name="selectAll"> [Выбрать все]</label></li>
            <li><label><input type="checkbox" name="selectItem" value="1"> Планируемые</label></li>
            <li class="selected"><label><input type="checkbox" name="selectItem" checked="checked" value="2"> Исполняемые</label></li>
            <li><label><input type="checkbox" name="selectItem" value="4"> Выполненные</label></li>
            <li><label><input type="checkbox" name="selectItem" value="8"> Отменные</label></li>
            <li><label><input type="checkbox" name="selectItem" value="16"> Просроченные</label></li>
            <li><label><input type="checkbox" name="selectItem" value="32"> Архивные</label></li>
            <li class="ms-no-results" style="display: none;">No matches found</li>
        </ul>
    </div>
</div>
...

есть обработчик для него
$(function () {
...
$('.filtr-main').on('change', '.multiselects7 .ms-drop label', function() {			
			var val = $('#multiselects7').val();
			var vals = '';
			if(val) vals = val.join(',');
			$.post('/dashboards/filtr_select/', { filtr: vals, flag: 'TaskTypes' }, function(data) {
                alert(val + ' -------------- ' + vals);
			});
	});
...
});

так вот, в хроме все работает как надо, алерты отображают значения выбранных элементов. А вот сафари (на маке) и любий ослик IE 11, выдают значения с опозданием на одно событие. Т.е. я выбираю какой то пункт, а получаю значения прошлого выбора. Кто сталкивался с таким? Куда копать? =(

ЗЫ: код не мой, разбираюсь уже неделю, но подобных ошибок еще ни разу не встречал.
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2016, 11:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,125

cukobly,
копать в сторону плагина который кастомизирует ваш селект и использовать его api для 'change'.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие на input radio redwert Элементы интерфейса 3 23.09.2014 09:45
Событие onload SP7 Общие вопросы Javascript 4 10.11.2013 23:50
Событие click Гробовщик jQuery 1 31.07.2013 07:28
Событие input и IE10 kobezzza Internet Explorer 2 21.03.2013 19:02
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46