想象一下,用户获得更好的折扣,数据 - 时髦度值越高,我们通过询问4个问题并为每个问题提供4个选项来获得此值。我确定它是最基本的东西......每次用户选择其中一个选项并更新它的值时我需要跟踪变量,以便在“测试”结束时我可以使用不同的ifs语句结果。
到目前为止,我得到的是演示http://lab.polmoneys.com/nohints.html和此代码:
编辑http://jsfiddle.net/polmoneys/s4xLF/4/
$('h3').click(function(event) {
var value = $(this).data("hipsterness");
var context =$(this).parent(".cpu");
var counter =$("#counter").text();
var newValue= counter + value;
$("#counter").text("" + value);
$("#total").val(newValue);
context.fadeOut("slow", function(e){
context.next(".cpu").fadeIn();
});
});
感谢
答案 0 :(得分:1)
正如我认为盖比所想的那样,问题在于你是串联而不是添加数字。但是,您需要在总输入文本字段上设置一个初始值,该值为数字才能使其起作用。或者,如果无法找到数值,则可以执行null cowellce将其设置为0,因为NaN将为“falsey”。这应该适合你:
$('h3').click(function(event) {
var value = $(this).data("hipsterness");
var context = $(this).parent(".cpu");
var counter = parseInt($("#total").val(), 10) || 0;
var newValue= counter + value;
$("#counter").text("" + value);
$("#total").val(newValue);
context.fadeOut("slow", function(e){
context.next(".cpu").fadeIn();
});
});
在一个不相关的说明中,您将希望只读取您的输入字段,或者人们可以在字段中自由键入他们喜欢的任何值,并确保通过单击不容易看到您的购物车信息查看源代码(因为那时我可以轻松打开一个控制台并根据我的需要更改价格。)
答案 1 :(得分:0)
您需要将字符串转换为数字
var newValue = parseInt(counter,10) + parseInt(value,10);