jQuery для принудительного запуска onChange из выпадающего списка - PullRequest
1 голос
/ 25 февраля 2012

Я хочу вызвать событие onChange выпадающего списка, используя jQuery.Я связал функцию с событием onChange, используя: $(element2).change(populateRelatedDropdowns); Она работает нормально, когда я вручную изменяю значения элемента управления select.Но когда я хочу запустить onChange с помощью: $(entydd).trigger('change');, он просто не работает.

Пожалуйста, помогите мне.Спасибо.

Код для передачи события с выпадающим списком выбора:

var element2 = document.createElement("select");
$(element2).change(populateAttrsDropdowns);


function populateAttrsDropdowns() 
{
//does something
}

До этого все гладко.Работает, когда я вручную изменяю значения раскрывающегося списка.

Теперь у меня есть требование, когда я вручную установил значение параметра для раскрывающегося списка и хочу, чтобы onChange даже запускался.Код ниже ( в другой функции ):

for (i = 0; i < customArray.length; i++) 
{
    $('#btnAdd').trigger('click');
    var entydd = (i+1) + ".enty"; //this is the name of my dropdowns..there are a couple
    document.getElementById(entydd).value = customArray[i].custom_value;
    $(entydd).trigger('change');
}

Надеюсь, эта дополнительная часть кода поможет.

Ответы [ 2 ]

2 голосов
/ 25 февраля 2012

Я думаю, что это должно быть

$('#'+entydd).trigger('change');
0 голосов
/ 25 февраля 2012

попробуйте переписать это:

for (i = 0; i < customArray.length; i++) 
{
    var mySelect = $((i+1) + ".enty");
    var myVal = customArray[i].custom_value;
    mySelect.val(myVal);
}

Я не проверял это, но это (установка значения на выбор), просто может вызвать событие изменения, если вы делаете это через jquery, какв отличие от чистого js.

и, если это не вызывает изменения, вы можете добавить второй вызов: myChanged (mySelect, myVal)

...