我想用带有“查询”选项的数组值填充 select2。问题是,数组可以是四个数组中的一个。应该加载哪个数组的声明取决于 select2 div 容器的父 div 的类名。
var preload_data_editors = [
{ id: '1', text: '1'}
];
var preload_data_techniker = [
{ id: '2', text: '2'}
];
var preload_data_cvd = [
{ id: '3', text: '3'}
];
var preload_data_pgmrat = [
{ id: '4', text: '4'}
];
$('div.multisel div').select2({
multiple: true,
query: function (query) {
var data = {results: []};
switch ($(this).parent('div').attr('class')) {
case 'multisel editors':
preload = preload_data_editors;
break;
case 'multisel techniker':
preload = preload_data_techniker;
break;
case 'multisel cvd':
preload = preload_data_cvd;
break;
case 'multisel pgmrat':
preload = preload_data_pgmrat;
break;
}
$.each(preload, function() {
// if (query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){
data.results.push({id: this.id, text: this.text });
// }
});
query.callback(data);
}
})
我的问题:$(this)
inswitch
没有设置。我怎样才能$(this)
按预期进行设置?也许我需要说我在这一点上对 jQuery 不是很好。
也许你可以帮我解决这个问题。
提前致谢!