我得到了一个动态的drawerFields数组。我正在尝试为此编写onchange事件。但是当这个onchange事件触发时它还没有解析dependentName因此仍未定义。
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>
有人可以告诉我如何实现这一目标。
答案 0 :(得分:0)
看起来所谓的 事件数据 可以解决您的问题:
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(事件[,选择器] [,数据] ,处理程序)