Есть форма с заполненными полями (редактирования данных), я хочу записать в базу только те поля которые были изменены есть метод .serializeArray()
который возвращает все данные, а как сделать чтобы он возвращал только те поля которые были изменены.
Пример кода:
var elements={};
$("#myform").change(function(){
elements=$(this).serializeArray();
});
$("#myform").submit(function(){
var order_id = $('#order_id').val();
$.ajax({
type: 'POST',
url: '/index.php?route=account/order/history_edit_order',
data:{
"action":elements,
"order_id":order_id
},
success: function(data){
$('#test').html(data);
}
});
return false;
});
var elements = [], form = $("#myform");
form.on('change', event => {
var name = event.target.name, value = event.target.value;
elements = elements.filter(element => element.name !== name)
elements.push({name, value});
console.log(elements);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform">
<input name="input1" />
<input name="input2" />
</form>
Можно попробовать отфильтровать пустые поля, затем получить уже заполненные в виде массива:
//...........
$("#myform").change(function(){
elements=$(this).find(input[type="text"]).filter(function () {
return !!this.value;
}).serializeArray();
});
//...........
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Использую UIKit на сайтеСкрипты относящиеся к выводу модального окна, для кнопок выводящихся до тега скрипт в теле документа не работают
Нужно при клике на картинку переключить radio-button