Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单元格中的增量数-JavaScript-jQuery_Javascript_Jquery - Fatal编程技术网

单元格中的增量数-JavaScript-jQuery

单元格中的增量数-JavaScript-jQuery,javascript,jquery,Javascript,Jquery,我在jQuery中使用JavaScript。我有以下几点 var $ticket = $nxt.parent().prev().children('.ticket'); 而$ticket.text()是整数1 我想在单击“作为”时将其增加1 $('.next').click(function() 我该怎么做???试试这个 $ticket.val($ticket.val()+1) 编辑 $ticket.text(parseInt($ticket.text(),10)+1); 如果元

我在jQuery中使用JavaScript。我有以下几点

var $ticket = $nxt.parent().prev().children('.ticket');
$ticket.text()
是整数1

我想在单击“作为”时将其增加1

$('.next').click(function()
我该怎么做???

试试这个

 $ticket.val($ticket.val()+1)   
编辑

$ticket.text(parseInt($ticket.text(),10)+1);
如果元素不是表单,则


很抱歉出错,
++
在这里不起作用。已相应地编辑了解决方案。

受Tomalak答案原始版本的启发,您可以使用基于回调的
.text
版本在单个jQuery调用中更改值:

$ticket.click(function(e) { 
    $(this).val(parseInt($(this).val()) + 1); 
    e.preventDefault(); 
});
$ticket.text(function(i, t) {
    return parseInt(t, 10) + 1;
});
对于那些试图使用
++
的人来说,由于以下两个原因,它将不起作用:

  • 只能对变量使用
    ++
    ,而不能对函数的返回值使用
  • 即使这样,在后缀模式下,它也会返回旧值,而不是递增的值

  • 一个奇特的解决办法是

    $.fn.extend({
      increment: function () {
        return this.text( function (i, currentText) {
          return parseInt(currentText, 10) + 1;
        });
      }
    });
    
    在您的情况下,将其用作:

    $nxt.parent().prev().children('.ticket').increment();
    

    另请参见。

    您是否阅读了
    .html()
    文档?(虽然
    .text()
    在这里会更好。)我改了。。现在看一看..尽管如此,阅读有关的文档,您将知道如何设置值。是否有机会使用类似于
    $ticket.data(“currentIndex”,1)的内容
    $ticket.data(“当前索引”),$ticket.data(“当前索引”)+1)是,可以(试试看)。但它不会更新单元格中显示的值。仅适用于表单字段。据我所知,
    $ticket
    不是表单字段。
    $ticket.text($ticket.text()+1)正在值的末尾添加1。。为什么会发生这种情况以及如何修复??实际上,请检查它,它是“parseInt($ticket.text())+1”,您遗漏了parseInt部分。我得到错误
    ReferenceError:postfix操作中的左侧表达式无效,因为这样使用
    ++
    。您只能在变量上使用它。@Balanivash否-如果未定义,则以0开头的数字可以解析为八进制,以0x开头的数字可以解析为十六进制。此处相同,
    .val()
    仅适用于表单字段,
    $ticket
    似乎不是表单字段。如果
    this
    的值为
    08
    ,会发生什么情况Pnb:jQuery插件应该可以在多个元素上工作-这一个不会。@Tomalak啊,是的,鬼鬼祟祟-使用基于函数的
    .text()
    调用。我在寻找迭代jQuery对象通常需要的
    .each()
    。Nice:)@Tomalak您的内部回调比需要的复杂多了-。提供了text(f)callback并返回新文本-应该是
    return parseInt(t,10)+1
    -请参阅@Alnitak:Thank.:)相应地修正了我的答案。