我试图使用.each添加数据,每次它循环到abilitiesExtra,但目前它似乎并没有工作和我无法弄清楚为什么。
在哪里,我认为它会错莫名其妙:
var abilitiesExtra = (0 * 1);
$(".iconDiv").each(function() {
if ($(this).is(":empty") === false) {
//alert("Hello");
var ability = $(this).children("img").first().attr("class");
$.post('PHP/getAbilityCost.php', {
ability: ability
}, function (dataTwo) {
abilitiesExtra = (dataTwo * 1) + abilitiesExtra;
});
}
});
alert(abilitiesExtra);
周围代码:
if (oneIsEmpty === "false") {
var abilitiesCost = (0 * 1);
var attack = $("#attack").val();
var speed = $("#speed").val();
var minRng = $("#minRng").val();
var maxRng = $("#maxRng").val();
var defense = $("#defense").val();
var hitPoints = $("#hitPoints").val();
var size = $("#size").val();
$.post('PHP/getNoraCost.php', {
attack: attack
, speed: speed
, minRng: minRng
, maxRng: maxRng
, defense: defense
, hitPoints: hitPoints
, size: size
}, function (data) {
abilitiesCost = (data * 1) + abilitiesCost;
});
var abilitiesExtra = (0 * 1);
$(".iconDiv").each(function() {
if ($(this).is(":empty") === false) {
var ability = $(this).children("img").first().attr("class");
$.post('PHP/getAbilityCost.php', {
ability: ability
}, function (dataTwo) {
abilitiesExtra = (dataTwo * 1) + abilitiesExtra;
console.log(abilitiesExtra); //gives the right number
});
}
});
//alert(abilitiesExtra) is always 0 now
abilitiesCost = abilitiesExtra + abilitiesCost;
$("#totalNoraCostD p").empty();
$("#totalNoraCostD p").append(abilitiesCost);
}
'abilitiesExtra =($ .parseInt(dataTwo)* 1)+ $ .parseInt(abilitiesExtra);'检查 –
我得到了以下错误这样做: 遗漏的类型错误:$ .parseInt在Object.fireWith [as resolveWith](jquery.min.js:2) at n(jquery.min.js:2) at Object.success(index.js:179) 不是函数 (jquery.min.js:4) – Tibout
console.log(dataTwo);检查这一点,我认为这不是一个数字或字符串。它以对象形式出现 –