我一直在定义和使用这样的小部件:
jQuery.widget('myname.dbtable', {...});
jQuery.widget('myname.columnTime', {...});
jQuery.widget('myname.columnDropdown', {...});
jQuery('#table').dbtable({...});
我的目标是在给定列类型(输入,选择,普通等)的情况下调用特定小部件,我试图这样做:
var columntypes = {time:'columnDropdown', dropmenu:'columnDropdown'};
for (var i=0; i<dbrows.length; i++) {
for (var c=0; c< dbrows[i].length; c++){
type = dbrows[i][c][type];
if (type === 'time'){
column = jQuery('<div></div>');
jQuery['myname'][columntypes[type]].call(column, {widtet-options});
// and I expect this to be equivalent to (if type=dropmenu)
// column.columnDropdown({widget-options})
}
}
}
但这不起作用,我在控制台中看到错误:
this._createWidget is not a function
所以我的问题基本上是:
如果我在变量中有小部件的名称,如何在jQuery元素上实例化小部件?