This is a quote from someone famous about productivity
Syntax khi mà select 2 onchange không call khi mà data binding. Vì nếu bắt event onchange thông thường nó sẽ lấy luôn lúc databiding sử dụng ajax. Vậy nên trong select 2 có event khác là ‘select2:select’, 1 Ví dụ sử dụng như sau:
// ví dụ này sử dụng ajax trong DNN nên có chút khác
$(document).on('select2:select', ".address-parent .slQuanHuyen", (e) => {
var element = $(e.target);
var quanId = e.target.value;
if (!isNaN(quanId * 1)) {
var dataRequest = JSON.stringify({ quanId: quanId });
window.AjaxDungChung("post", "/DesktopModules/MVC/NghiepVu/HoSo/GetPhuongXaByQuanIdJsonResult",
window.moduleId, window.tabId, $("input[name='__RequestVerificationToken']").val(), dataRequest
, "application/json; charset=utf-8", "json", true).then((data) => {
if (data) {
window.LoadSelect2(element.closest('.address-parent').find('.slPhuongXa'), data, null, true);
}
});
}
else
window.LoadSelect2(element.closest('.address-parent').find('.slPhuongXa'), [], null, true);
});