我有幾個輸入欄位,允許我添加或更新添加到購物車的產品的折扣:
<div class="bsk-dto">
<input type="text" name="dtoupdate[3][Normal][Normal][Normal][1][%]" value="3" class="dto" autocomplete="off" data-validation="number" data-validation-allowing="float">
</div>
<div >
<input type="text" name="dtoupdate[6][Normal][Normal][Normal][1][%]" value="1" autocomplete="off" data-validation="number" data-validation-allowing="float">
</div>
<div >
<input type="text" name="dtoupdate[10][Normal][Normal][Normal][1][%]" value="0" autocomplete="off" data-validation="number" data-validation-allowing="float">
</div>
此資料是根據添加到購物車的專案生成的:

我$this在我的 ajax 代碼中添加了屬性,這樣當其中一些被修改時,它只會更新正在修改的輸入欄位,但不幸的是它對我不起作用,如果我修改其中一個輸入欄位,所有這些都是修改的。
$(function() {
$(document).on('input', '.dto', function(e){
e.preventDefault();
$this = $(this);
var formData = [];
$('input[name^="dtoupdate"]').each(function() {
formData.push(this.value);
});
var formData = $(this).serializeArray();
var url = "update_cart.ini.php";
$.ajax({
url: url,
type: "POST",
data: formData,
cache: false,
})
.done(function(data) {
let res = JSON.parse(data);
if(res.status){
$('.alert-success').fadeIn();
$('.alert-success').html(res.message).delay(2000).fadeOut(2000);
} else {
$('.alert-danger').fadeIn();
$('.alert-danger').html(res.message).delay(2000).fadeOut(2000);
}
})
.fail(function( jqXHR, textStatus ) {
/*alert("Ajax Request fail");
console.log(jqXHR.responseText);
console.log("Request failed: " textStatus );*/
})
});
});
我應該做哪些更改,以便它只更新正在修改的輸入中的資料?
如果我修改了一個輸入(輸入),其他人也被修改,這是錯誤這里是錯誤的 gif:

uj5u.com熱心網友回復:
試試這個只發送一個欄位
const field = {};
field[this.name] = this.value;
$.ajax({
url: url,
methodd: "POST",
data: field,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/537485.html
標籤:查询阿贾克斯
上一篇:如何從jqurey(ajax)中的兩個或多個選擇中獲取值
下一篇:根據url#id更改元標題
