使用jquery在click上增加变量

时间:2012-05-29 19:51:38

标签: javascript jquery html

这似乎是一件非常简单的事情,但我似乎无法让它发挥作用。我有:

<button id="more">more</button>
<button id="less">less</button>

<p id="info"></p>

<script>
var howMany = 1;
$(#more).click(function(){
    howMany + 1;
});
$(#less).click(function(){
    howMany - 1;
});
$("#info").text(howMany);
</script>

当用户点击或多或少时,我只想让info段增加或减少。

4 个答案:

答案 0 :(得分:5)

你的代码中有几个错误,正如其他人已经提到的那样在选择器中缺少引号,而不是在递增/递减后重新分配变量值。

var howMany = 1;
$('#more').click(function(){
    howMany += 1;
    $("#info").text(howMany);
});
$('#less').click(function(){
    howMany -= 1;
    $("#info").text(howMany);
});
$("#info").text(howMany);​

这是working Fiddle

答案 1 :(得分:4)

有几个问题:

  • 您需要字符串作为选择器。请将#more括在引号中:"#more"
  • 您需要更新变量,而不仅仅是计算加法或减法并忽略结果。使用+=-=代替+-
  • 您可能希望在每次加/减后更新<p>元素。因此,在更新变量后,将.text调用放在两个单击函数中。

答案 2 :(得分:1)

您向howMany添加1,但不会影响变量的结果。 使用howMany = howMany + 1;howMany += 1;

编辑:根据pimvdb的回答,还有其他问题,看看他的帖子。 更正的代码在这里:

<button id="more">more</button>
<button id="less">less</button>

<p id="info"></p>

<script>
var howMany = 1;
$("#more").click(function(){
    howMany += 1;
    $("#info").text(howMany);
});
$("#less").click(function(){
    howMany -= 1;
    $("#info").text(howMany);
});
</script>

答案 3 :(得分:1)

您没有将结果分配给变量,而且您正在设置 元素的text点击事件!尝试:

$("#more").click(function(){
    howMany += 1;
    $("#info").text(howMany);
});
$("#less").click(function(){
    howMany -= 1;
    $("#info").text(howMany);
});