(function ($) {
$.fn.ThienDacTable = function (options) { //-> định nghĩa plugin tên ThienDac
var $myTbodyArea = $(this);
// thiết lập và định nghĩa settings mặc định
var settings = $.extend({
width: '100%',
style: 'table table-bordered table-intel',
paging: true,
pagesize: 10,
indentify: 'Id',
AjaxGetData: '', --> url ajax lây data
InitLoad: function () {
LoadData(1);
//định nghĩa hàm load data vào table kiểu ajax
function LoadData(pageIndex) {
$.ajax({
type: "POST",
url: settings.AjaxGetData,
data: "{pageIndex:" pageIndex ",pagesize:" settings.pagesize "}",//tham số phân trang
contentType: "application/json; charset=utf-8",
dataType: "json",
failure: function (response) {
console.log(response);
},
error: function (response) {
console.log(response);
}
});
};
//gen data theo cấu trúc bảng
function MappingData(value) {
var html = '‹tr›'
'‹td›' value.Id '‹/td›'
'‹td›' value.FullName '‹/td›'
'‹td›' value.WebSite '‹/td›'
'‹td›' value.Email '‹/td›'
'‹/tr›';
return html;
}
//hàm ajax get data đổ vào bàng
function OnSuccess(response) {
//lặp từng row
var row;
$.each(response.Datas, function (index, value) {
row = MappingData(value);
$myTbodyArea.append(row); //this ơ đây chính là $('.AreaLoadData')
})
}
//khởi chạy đi load data vào bảng
settings.InitLoad();
return {
settings: settings,
$this: this
}
};
}(jQuery));