使用jquery动态put onchange事件

时间:2014-06-09 21:36:42

标签: javascript jquery

我得到了一个动态的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>

有人可以告诉我如何实现这一目标。

1 个答案:

答案 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(事件[,选择器] [,数据] ,处理程序)