Страницы

Поиск по вопросам

среда, 18 декабря 2019 г.

При change select в val() показывает уже выбранное значение, а как взять старое?

#jquery #события


При 



$('select').on('change', function() {
  var val = $(this).val(); // Показывает значение выбранное сейчас
})






А если у меня быо выбрано: "мото" до выбора, как это определить в рамках события change? 
    


Ответы

Ответ 1



Воспользуемся событием focus для первого сохранения и далее просто обновляем: (function(){ let previous; $("select").on('focus', e => previous = e.target.value).change(e => { // Прошлое значение value console.info(previous); // Необходимо обновить, иначе последующие смены не будут работать previous = e.target.value; }); }());

Ответ 2



$(function() { $('select').each(function() { $(this).data('old_val', $(this).val()); }); $('select').on('change', function() { var old = $(this).data('old_val'); // Старое значение берём var val = $(this).val(); // Показывает значение выбранное сейчас alert('Было ' + old + ' стало ' + val); // ...... $(this).data('old_val', $(this).val()); // Старое значение обновляем }); });

Комментариев нет:

Отправить комментарий