February 27, 2018

Notes select 2 js


Note….

You come at the king, you best not miss.

Be subtle with it, man. You know what subtle means?

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);
});