Javascript/AJAX关于AJAX成功函数的当前输入
我正在写一篇关于一家在线电器商店的专题文章。 我已经对当前订单进行了建模,但是这个Javascript代码有一些问题。 如果实际库存(在数据库中,由/api/GetStockArticle servlet控制的库存)低于输入上的当前数字,则应该更改输入上的颜色。我将此事件添加到我可以拥有的所有输入中,这些输入是动态的,因为它取决于我当前订单的行数Javascript/AJAX关于AJAX成功函数的当前输入,javascript,html,ajax,Javascript,Html,Ajax,我正在写一篇关于一家在线电器商店的专题文章。 我已经对当前订单进行了建模,但是这个Javascript代码有一些问题。 如果实际库存(在数据库中,由/api/GetStockArticle servlet控制的库存)低于输入上的当前数字,则应该更改输入上的颜色。我将此事件添加到我可以拥有的所有输入中,这些输入是动态的,因为它取决于我当前订单的行数 window.onload = function () { var inputs= document.getElementsB
window.onload = function () {
var inputs= document.getElementsByClassName("quantity");
for (var i = 0, n = inputs.length; i < n; i++) {
inputs[i].addEventListener("change", getStock, false);
}
}
function getStock(evt) {
$.ajax("../api/GetStockArticle", {
data: {'cart': evet.target.id},
dataType: 'text',
cache: false,
success: checkStock,
error: function (xhr, status, ex) {
alert("Error (" + xhr.status + "):" + status);
}
});
}
function checkStock(stock) {
//var input = document.getElementsByClassName("quantity");
if (stock < input[0].value) {
input[0].style.color = "#C02C11";
} else {
input[0].style.color = "black";
}
}
window.onload=函数(){
var输入=document.getElementsByClassName(“数量”);
对于(变量i=0,n=inputs.length;i
我这里的主要问题是,在checkStock函数(即success函数)中,我想引用值发生变化的相同输入,但我不知道如何做到这一点。
我没有正确地指导我的代码吗?首先准备好函数,将输入作为参数:
function checkStock(input, stock) {
if (stock < input.value) {
input.style.color = "#C02C11";
} else {
input.style.color = "black";
}
}
或者,您可以使用currying,也可以使用scope和closure:
function getStock(evt) {
const input = evt.target;
$.ajax("../api/GetStockArticle", {
data: {'cart': evet.target.id},
dataType: 'text',
cache: false,
success: function(stock) {
if (stock < input.value) {
input.style.color = "#C02C11";
} else {
input.style.color = "black";
}
},
error: function (xhr, status, ex) {
alert("Error (" + xhr.status + "):" + status);
}
});
}
函数getStock(evt){
常量输入=evt.target;
$.ajax(“../api/GetStockArticle”{
数据:{'cart':evet.target.id},
数据类型:“文本”,
cache:false,
成功:功能(库存){
if(库存<输入值){
input.style.color=“#C02C11”;
}否则{
input.style.color=“黑色”;
}
},
错误:函数(xhr、状态、ex){
警报(“错误”(+xhr.status+”):+status);
}
});
}
function getStock(evt) {
const input = evt.target;
$.ajax("../api/GetStockArticle", {
data: {'cart': evet.target.id},
dataType: 'text',
cache: false,
success: function(stock) {
if (stock < input.value) {
input.style.color = "#C02C11";
} else {
input.style.color = "black";
}
},
error: function (xhr, status, ex) {
alert("Error (" + xhr.status + "):" + status);
}
});
}