[英]How to stop increment stored array after ajax success using jquery?
我將兩個輸入值存儲在數組中。 數組值將顯示在HTML表中。 單擊最終保存后,所有值都應保存到數據庫。 當Ajax在Save(不重新加載頁面)上成功時,如何清除此HTML表,因為下一次它將顯示前一個數組。 我不想顯示以前的數組。 我已經嘗試了document.getElementById(“ result_pay_modedetails”)。innerHTML =“”; 根本沒有清除數組表。它只是連續數組。ajax成功后如何做新數組?
這是我在表中存儲數組值的函數。
var z = 0;
var x = 0;
var array = Array();
var array1 = Array();
function add_element_to_array() {
var amtpatvalue = document.getElementById("amount_to_pay").value;
array[x] = parseFloat(amtpatvalue).toFixed(2);
array1[z] = $('input[name=pay]:checked', '#paymode').val();
x++;
z++;
}
function display_array() {
var e = "<table id='pay' border=1 style=''>";
alert(array.length)
for (var y = 0; y < array.length; y++) {
e += "<tr>";
e += "<td><input class='paymodeamt getdata' id='paymodeamt' name='paymodeamt' value='" + array[y] + "'></td><td><input class='storepaymode getdata' id='storepaymode' name='storepaymode' value='" + array1[y] + "'></td>";
e += "</tr>";
//var paymentResult = array1[y] + ":" + array[y] + " ";
}
e += "</table>";
document.getElementById("result_pay_modedetails").innerHTML = e;//HTML table will show in this div
return e;
}
單擊最終保存時的ajax功能
function saveData() { //save data
var paymodeamt = [];
var storepaymode = [];
$('.paymodeamt').each(function () {
paymodeamt.push($(this).val());
});
$('.storepaymode').each(function () {
storepaymode.push($(this).val());
});
if (parseFloat(advamt) > 0) {
var getlastID = $('#getlastID').val();
$.ajax({
type: "POST",
url: "save.php",
data: {
getinvoiceid: getlastID,
getstorepaymode: storepaymode,
getamount: paymodeamt
},
success: function (data) {
//$('#pay tbody').html('');
//$("#pay").empty();
//$("#pay tbody tr").remove();
//$("#result_pay_modedetails").empty();
document.getElementById("result_pay_modedetails").innerHTML = " ";
$(".paymodeamt").val(' ');
$(".storepaymode").val(' ');
}
}) //ajax close payment mode
}
} //end save process
完成異步操作后,您需要重置變量:
success: function (data) {
//$('#pay tbody').html('');
//$("#pay").empty();
//$("#pay tbody tr").remove();
//$("#result_pay_modedetails").empty();
document.getElementById("result_pay_modedetails").innerHTML = " ";
$(".paymodeamt").val(' ');
$(".storepaymode").val(' ');
z = 0;
x = 0;
array.length = 0; // empties the array
array1.length = 0; // empties the array
}
更好的方法是完全刪除這些全局變量,因為全局變量只會使您痛苦。 但這是一個更大的問題,超出了您的問題范圍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.