5

我正在尝试做一个在单击他的 ID 和变量时递增的按钮。我能够在 StackOverflow 上找到一些增加输入字段值的代码,但我不知道从那里更改它。

这是标记:

<input type="text" name="qty" value="0" />
<p id="inc">Increase</p>
<p id="dec">Decrease</p>

和 jQuery

<script>
$(document).ready(function() 
{   
    $(function()
    {
        $("#inc").click(function() 
        { 
            $(":text[name='qty']").val(Number($(":text[name='qty']").val()) + 1);
            $('#inc').addClass (Number + 1); // this one does not work
            var incrementVar = (Number + 1); // this one also does not work
        }); 

        $("#dec").click(function()
        {      
            $(":text[name='qty']").val(Number($(":text[name='qty']").val()) - 1);
        });  
    });
});
</script>

这确实增加了输入中的 val,但我不能让它增加 $('#inc') 类和 var incrementVar。

我该怎么办?谢谢

4

3 回答 3

5

类名不能以数字开头,请参阅此讨论了解详细信息。如果你在你的类前面加上.c1,.c2等......你可以这样做:

$(function() {
  $("#inc").click(function() { 
    var num = $(":text[name='qty']").val(function(i, v) { 
                   return Number(v) + 1;
              }).val();
    $(this).addClass ('c' + num);
    var incrementVar = num;
  }); 

  $("#dec").click(function() {      
    $(":text[name='qty']").val(function(i, v) { return Number(v) - 1; });
  });  
});

还有一点需要注意:不需要$(document).ready(function() {$(function() {这些是等价的,单独包装任何一个都可以。

于 2010-03-10T17:14:28.900 回答
3
var incrementVar = 0;
$(function() {
    $("#inc").click(function() {
        var value = parseInt($(":text[name='qty']").val()) + 1;
        $(":text[name='qty']").val(value);
        $('#inc').addClass('a' + value); // I believe class names cannot start with a number
        incrementVar = incrementVar + value;
    });
});
于 2010-03-10T17:16:45.170 回答
0

对于此输入的额外键盘支持(上/下箭头加/减),我的增量插件可能会派上用场:http ://sean-o.com/increment

只需下载并包含脚本,然后使用一行代码调用:

$(":text[name='qty']").increment({ increment: 1 });

--肖恩·奥

于 2010-03-11T14:53:03.083 回答