我有一个选择元素,由Select2通过SonataAdminBundle装饰。
我正在尝试收听更改事件。我的选择标签的ID是"类别选择器"。
这不起作用:
var test = $('#categorySelector');
$(test).change(function() {
var theSelection = $(test).select2("val");
//$('#selectedID').text(theID);
console.log(theSelection);
});
我该怎么做?
我认为这应该适合您...
$('#categorySelector').on("change", function(e) {
var theSelection = e.val();
console.log(theSelection);
});
所有公共事件都使用 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: "", …}
然后,您可以简单地应用文本或 ID 属性。
$('#categorySelector').on('select2:select', function (e) {
var theSelection = e.params.data.id;
console.log(theSelection );
});