【发布时间】:2016-03-13 23:19:46
【问题描述】:
更新 #2:更新脚本。
目标
a) 用户选择一个按钮。最后点击按钮的值 + .current__amount = new__amount
b) 没有累计。再次单击同一个按钮应取消选择它,然后从.new__amount 中减去该值,然后使用.html() 更改占位符文本
问题
好吧,现在无论出于何种原因,单击按钮都不会在.new__amount 中添加或删除其值。
我有 console.log(buttons[i].value) 和 console.log(buttons[i].class) 并且可以看到 for 循环正在打印这六个按钮的类和值,它们代表无声拍卖中的出价 $10, 25, 50 并已存储在一个数组中像我想要的那样叫var buttons = []。
scripts.js(更新)
差不多了。只需要做到一次只能选择一个按钮。
/*-------------------------------------
STEP ONE: PLACE BID
--------------------------------------*/
$.ajax({
url: "https://sheetsu.com/apis/4a8eceba",
method: "GET",
dataType: "json"
}).then(function(spreadsheet) {
// Print current bid
var currentBid = spreadsheet.result.pop().Bids;
$(".current__amount").html("$" +currentBid);
$('.button__form').on('click', function() {
var value = $(this).val();
if($(this).hasClass('is-selected')) {
$(this).removeClass('is-selected');
$(".check--one").css("color", "#ccc");
currentBid = parseInt(currentBid) - parseInt(value);
}
else {
$(this).addClass('is-selected');
$(".check--one").css("color", "#ffdc00");
currentBid = parseInt(currentBid) + parseInt(value);
}
$('.total__amount').html("$" + currentBid);
});
});
【问题讨论】:
-
您可以通过这种方式获取数组中的最后一项:
myArray[myArray.length - 1]... 不过我不完全确定您在问什么。 -
你只是问怎么办
new = current + last clicked? -
@indubitablee 是的。这样我就可以将页面上占位符的文本更改为
new的值。 -
抱歉,在所有选择/取消选择的情况下,很难按照您对代码的操作进行操作。您最终想要的功能是什么?是总结所有选定的按钮值吗? (这样通过单击一次,您选择了该值并将该值添加到总计中,然后再次单击,您取消选择并从总计中减去该值)或者您正在保持运行总计? (因为你按了值 5 按钮 3 次,总共得到 15)?
-
@Jacques 我试图提供一些更清晰的细节,希望它更有意义。基本上,我希望打印
.new__amount的值,这是.currentBid+theValueoftheLastButtonClicked的组合值
标签: javascript jquery arrays if-statement for-loop