我想在创建select2时传递自定义属性。示例(我自定义属性为myFilterEnabled
):select2:是否可以传递自定义输入并在方法中访问
$('#mySelId2').select2({
myFilterEnabled: false, //Pass my initial state
query: function(query) {
var res = {
results: CityFilter.cities
};
query.callback(res);
}
});
并使用它在查询或呈现功能。像:
$('#mySelId2').select2({
myFilterEnabled: false,
query: function(query) {
var fltEnabled = this.myFilterEnabled; //Read current state
var res = {
results: fltEnabled ? [] : CityFilter.cities
};
query.callback(res);
}
});
这是这样的,有一个变量的初始状态。但是,它可以在外部进行更改,并且我希望在每次重新呈现/查询期间检查该状态。
编辑:似乎我发布之前犯了一个错误。上面的代码似乎工作。我打算添加一个像'my'或'myProj'这样的通用前缀,以便它不会与select2本身的任何变量冲突。
编辑2:如前所述,传递初始状态和读取当前状态正在工作。我仍然需要从外部改变这种状态的方法。如果select2没有可以在元素上设置数据属性的方法。
为什么不设置元素它自己的数据属性,并使用('$(元素)。数据(“myFilterEnabled”,“一些价值”)'和'获得$(元素) .data('myFilterEnabled')') –
图书馆如何接受您的自定义属性? – Sankar
@maximusツ谢谢。我会尝试的。 – Teddy