我有一个select元素,由Select2通过SonataAdminBundle修饰。
我正在试着听改变事件。我的select标签的ID是“categorySelector”。
这不起作用:
var test = $('#categorySelector');
$(test).change(function() {
var theSelection = $(test).select2("val");
//$('#selectedID').text(theID);
console.log(theSelection);
});
我该怎么做?
答案 0 :(得分:4)
我认为这对你有用......
$('#categorySelector').on("change", function(e) {
var theSelection = e.val();
console.log(theSelection);
});
答案 1 :(得分:1)
所有公共事件都使用jQuery事件系统进行中继,并在Select2附加到的元素上触发。您可以使用jQuery提供的.on方法将其附加:
$('#categorySelector').on('select2:select', function (e) {
// Do something
});
触发select2:select时,可以通过params.data来访问选择的数据。
在param.data中,您收到了类似以下内容的对象:
{selected: true, disabled: false, text: "India", id: "101", title: "", …}
然后您可以简单地应用text或id属性。
$('#categorySelector').on('select2:select', function (e) {
var theSelection = e.params.data.id;
console.log(theSelection );
});