我有问题.....
点击.aa时,它会使元素在seattist['seats'][column][row]['price']
的帮助下计算价格并显示$(".checkout_area")
每个按钮都有一个$(".desc2 a")
按钮,当点击它时,它应该从一般价格中减去seatlist['seats'][column][row]['price']
并将其显示在$(".checkout_area")
中,我写了它那里,但我不知道为什么,它不起作用......
有任何建议。 谢谢
var ipl = 1;
var price = 0;
var createNewElem = function(obj) {
var column = obj.parent().children().index(obj.get(0));
var row = obj.parent().parent().children().index(obj.get(0).parentNode);
++ipl;
if (!$(obj.attr("rel")) || $(obj.attr("rel")).size() < 1) {
obj.attr("rel", "#cc_" + ipl);
$(".seat_desc")
.append("<div id='cc_" + ipl + "' class='desc2'>" +
"<p class='section_s'>" + seatlist['seats'][column][row]['sector'].replace(/sector\s/, '') + "</p>" +
"<p class='row_r'>" + seatlist['seats'][column][row]['row'].replace(/Row\s/, '') + "</p>" +
"<p class='seat_s'>" + seatlist['seats'][column][row]['seat'].replace(/seat\s/, '') + "</p>" +
"<a href='#'>remove</a>" +
"<span> CA $" + seatlist['seats'][column][row]['price'] + "</span>" +
"<div class='clear'></div>" +
"</div>");
price += seatlist['seats'][column][row]['price'];
$(".checkout_area").html("SUBTOTAL: CA $" + price);
} else {
$(obj.attr("rel")).remove();
obj.attr("rel", "");
price -= seatlist['seats'][column][row]['price'];
$(".checkout_area").html("SUBTOTAL: CA $" + price);
}
};
$(".aa").click(function() {
createNewElem($(this));
});
$(".desc2 a").live("click", function() {
var column = $(this).parent().children().index(this);
var row = $(this).parent().parent().children().index(this.parentNode);
$(this).parent("div").remove();
$(".seat p span").html($(".desc2").length);
$(".checkout_area").html("SUBTOTAL: CA $" + price - seatlist['seats'][column][row]['price']);
return false;
});
答案 0 :(得分:1)
var t= price - seatlist['seats'][column][row]['price'];
$(".checkout_area").html("SUBTOTAL: CA $" + t );
答案 1 :(得分:0)
很难确切地知道你的问题出了什么问题,但是你可以在这两个值上尝试parseFloat
-
$(".desc2 a").live("click", function() {
var column = $(this).parent().children().index(this);
var row = $(this).parent().parent().children().index(this.parentNode);
$(this).parent("div").remove();
$(".seat p span").html($(".desc2").length);
$(".checkout_area").html("SUBTOTAL: CA $" + parseFloat(price) - parseFloat(seatlist['seats'][column][row]['price']);
return false;
});
答案 2 :(得分:0)
您正在将算术与非数字字符串表达式混合。 做点什么
var t= price - seatlist['seats'][column][row]['price'];
$(".checkout_area").html("SUBTOTAL: CA $" + t );
编辑 在使用firebug查看代码之后,似乎行col计算导致seatlist数组中的未定义元素。我添加了一个座位并尝试将其删除。它试图减去的元素在座位列表中未定义。根据Firebug,即在我的情况下{col = 3 row = 1 seatlist ['seat'] [3] [1] ['price'] = undefined}。 所以主要问题不在于计算行(尽管如果你想做正确的算术,答案就会出现)。 我建议使用Firebug或Chrome开发人员工具。毕竟我们无法为您调试代码..