function do_ajax_action(action, val=null){
$.ajaxSetup({async: false});
$.post(
'/m-form-process.php?action='+action+'&val='+val,
$("#form1").serialize(),
function(data){
let obj;
try {
obj = JSON.parse(data);
} catch (error) {
obj = {};
}
if(obj.length>0){
$.each(obj, function(index){
one_obj=$(this)[0];
if ($('#'+one_obj.id).length<=0) return;
update_object(one_obj);
})
}
}
);
}
function update_object(one_obj){
switch(one_obj.attr){
case 'val':
$('#'+one_obj.id).val(one_obj.value);
break;
case 'html':
$('#'+one_obj.id).html(one_obj.value);
break;
default:
$('#'+one_obj.id).replaceWith(one_obj.value);
break;
}
}
function createSelectFromJson1(jsonInput, selectId, selectedId = null, className = '', dataAttrs = {}) {
// Nếu là string, cố gắng parse, còn không thì giữ nguyên
let objArr = [];
if (typeof jsonInput === 'string') {
try {
objArr = JSON.parse(jsonInput);
} catch (e) {
return '';
}
} else if (Array.isArray(jsonInput)) {
objArr = jsonInput;
} else if (typeof jsonInput === 'object' && jsonInput !== null) {
// Nếu là object, nhưng không phải mảng (hiếm gặp)
objArr = [jsonInput];
} else {
return '';
}
let dataAttrStr = '';
for (let key in dataAttrs) {
dataAttrStr += ' data-' + key + '="' + dataAttrs[key] + '"';
}
let selectHtml = '';
return selectHtml;
}
// Hàm tạo select từ chuỗi JSON
function createSelectFromJson(jsonInput, selectId, selectedId = null, className = '', dataAttrs = {}) {
// Nếu là string, cố gắng parse, còn không thì giữ nguyên
let objArr = [];
if (typeof jsonInput === 'string') {
try {
objArr = JSON.parse(jsonInput);
} catch (e) {
return '';
}
} else if (Array.isArray(jsonInput)) {
objArr = jsonInput;
} else if (typeof jsonInput === 'object' && jsonInput !== null) {
// Nếu là object, nhưng không phải mảng (hiếm gặp)
objArr = [jsonInput];
} else {
return '';
}
let dataAttrStr = '';
for (let key in dataAttrs) {
dataAttrStr += ' data-' + key + '="' + dataAttrs[key] + '"';
}
let selectHtml = '';
return selectHtml;
}
// Hàm tạo checkbox[] từ chuỗi JSON
function createCheckboxesFromJson(jsonInput, name, checkedIds = [], className = '', dataAttrs = {}) {
// Nếu là string, cố gắng parse, còn không thì giữ nguyên
let objArr = [];
if (typeof jsonInput === 'string') {
try {
objArr = JSON.parse(jsonInput);
} catch (e) {
return '';
}
} else if (Array.isArray(jsonInput)) {
objArr = jsonInput;
} else if (typeof jsonInput === 'object' && jsonInput !== null) {
// Nếu là object, nhưng không phải mảng (hiếm gặp)
objArr = [jsonInput];
} else {
return '';
}
let dataAttrStr = '';
for (let key in dataAttrs) {
dataAttrStr += ' data-' + key + '="' + dataAttrs[key] + '"';
}
let html = '';
objArr.forEach(function(item, idx) {
let checked = (checkedIds.includes(item.id)) ? ' checked' : '';
let optionDataAttrs = '';
if (item.data) {
for (let k in item.data) {
optionDataAttrs += ' data-' + k + '="' + item.data[k] + '"';
}
}
let inputId = name + '_' + item.id;
html += ' ';
});
return html;
}
// Hàm tạo radio[] từ chuỗi JSON
function createRadiosFromJson(jsonInput, name, checkedId = null, className = '', dataAttrs = {}) {
// Nếu là string, cố gắng parse, còn không thì giữ nguyên
let objArr = [];
if (typeof jsonInput === 'string') {
try {
objArr = JSON.parse(jsonInput);
} catch (e) {
return '';
}
} else if (Array.isArray(jsonInput)) {
objArr = jsonInput;
} else if (typeof jsonInput === 'object' && jsonInput !== null) {
// Nếu là object, nhưng không phải mảng (hiếm gặp)
objArr = [jsonInput];
} else {
return '';
}
let dataAttrStr = '';
for (let key in dataAttrs) {
dataAttrStr += ' data-' + key + '="' + dataAttrs[key] + '"';
}
let html = '';
objArr.forEach(function(item, idx) {
let checked = (item.id == checkedId) ? ' checked' : '';
let optionDataAttrs = '';
if (item.data) {
for (let k in item.data) {
optionDataAttrs += ' data-' + k + '="' + item.data[k] + '"';
}
}
let inputId = name + '_' + item.id;
html += ' ';
});
return html;
}