2011-05-18 84 views
0

我有一个包含元素编号的跨度(在这种情况下,它计算列表中的元素数),这些列表项可以被删除,因此编号会改变,我怎么能每次更新列表时更新数字?实时更新jQuery的更改值

这是我使用计数列表项

var getTotal = jQuery('#ul li').length; 
    $(".gettotal").text(getTotal); 

我都看着谷歌代码,但我没有发现任何东西。

+0

为什么不运行这段代码(或函数中添加它)每一个列表项被删除的时间?这样,当你从'ul'中删除时''''的数量将会被更新。 – 2011-05-18 13:17:35

回答

1

你的li元素是如何创建或删除的?您需要触发该事件的计数更新。您可以利用jQuery的能力来创建/触发bindtrigger的自定义事件。

$('#ul').bind('li_deleted', function() 
{ 
    $('.gettotal').text($('#ul li').length); 
}); 

//and every time an li is deleted.. 
$('#ul').trigger('li_deleted'); 

另一个(和不那么好)的选择是运行在页面上的计时器,并检查的列表元素的变化# - 但是这将是非常耗费资源,我不会做,除非这是最后的手段。

+0

谢谢,我已经尝试过这一点,但它不包括所有的列表项,但它不会更新数字,如果我删除一个。 – user759235 2011-05-18 14:21:26

+0

如果你删除了一个,你必须重新启动这个事件,我不知道你的代码的上下文,所以我不知道它们是如何被删除的 - 否则我会给你一个更具说明性的例子来说明你的情况。 – 2011-05-18 14:25:26

+0

那么我用这个删除的项目\t \t \t \t的jQuery( 'PH-删除 ')。点击(函数(){ \t \t \t $(本).parent(' 礼')。效果基本show(200,函数(){ \t \t \t \t $(本)卸下摆臂() \t \t \t}); \t \t}); – user759235 2011-05-18 14:32:19