[jquery] Событие смены триггера () при установке значения <select> с помощью функции val ()


Answers

Одна вещь, которую я узнал (трудный путь), заключается в том, что вы должны иметь

$('#selectField').change(function(){
  // some content ...
});

определенных до того, как вы используете

$('#selectField').val(10).trigger('change');

или

 $('#selectField').val(10).change();
Question

Самый простой и лучший способ инициировать событие изменения при установке значения элемента select .

Я ожидал, что выполнение следующего кода

$('select#some').val(10);

или

$('select#some').attr('value',  10);

приведет к запуску события изменения, которое, я думаю, довольно логично. Правильно?

Ну, это не так. Вам нужно событие triger change (), выполнив это

$('select#some').val(10).change();

или

$('select#some').val(10).trigger('change');

но я ищу какое-то решение, которое вызовет событие изменения, как только значение select изменится на некоторый код javascript.




Я отделяю его, а затем использую сравнение идентичности, чтобы диктовать, что будет дальше.

$("#selectField").change(function(){
  if(this.value === 'textValue1'){ $(".contentClass1").fadeIn(); }
  if(this.value === 'textValue2'){ $(".contentclass2").fadeIn(); }
});



Links