Я получаю массив drawerFields, который является динамическим. Я пытаюсь написать onchange событие для этого. но когда это событие события onchange еще не разрешено, зависимое имя остается неопределенным.
function dcdcsCascadeEffect(){
for(var j=0;j+1<drawerCompleteFields.length;j++){
var dependentName=drawerCompleteFields[j+1];
var parentName=drawerCompleteFields[j];
$('#'+parentName).on('change',function(){
callFilterDataLoaderFunction(dependentName);
});
}
}
function callFilterDataLoaderFunction{
window[filterFields[filterName].type + "FilterOperations"](filterFields[filterName]);
}
HTML:
<select data-placeholder="Division" multiple="multiple" class="multiselectFilter" id="divisions" style="width: 100%; display: none;">
<option value="multiselect-all">All</option>
<option value="1" selected="">Mobile</option>
</select>
Может кто-нибудь сказать мне, как этого добиться.
Похоже, что так называемые события-события могут решить вашу проблему:
function dcdcsCascadeEffect(){
for(var j=0;j+1<drawerCompleteFields.length;j++){
var dependentName=drawerCompleteFields[j+1];
var parentName=drawerCompleteFields[j];
$('#'+parentName).on('change', dependentName, function(e){
callFilterDataLoaderFunction(e.data);
});
}
}
Ссылка .on() вы можете увидеть синтаксис в начале:
.on (события [, селектор] [, данные], обработчик)
.on()
.