data- *属性的基本变量操作

时间:2011-12-29 17:57:59

标签: jquery

想象一下,用户获得更好的折扣,数据 - 时髦度值越高,我们通过询问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();

        });
});

感谢

2 个答案:

答案 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);