单元格中的增量数-JavaScript-jQuery
我在jQuery中使用JavaScript。我有以下几点单元格中的增量数-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); 如果元
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.:)相应地修正了我的答案。