2009-12-22 3 views
0

У меня есть таблица, и я хочу подсчитать, сколько я спрячу.jQuery counter question

Код:

<rich:jQuery query="ready(function() { 
var i = 0; 
jQuery('#inbox:_inboxTable_').find('span[title=isArchivedStatusPlusIncludeArchive]').each(function(i, o){ 
     if (jQuery(this).text() == 'true+false'){ 
       i++; 
       alert(i); 
       jQuery(this).parent().parent().parent().fadeOut(); 
     } 
    jQuery('#inbox').find('span[title=documentProccesedCountTitle]').html(i+' documents are beeing processed to be removed from the inbox'); 
}); 
})"/> 

Для страницы с 10 т.р., в моем тесте 7 скрыты этой части кода, но «я» 10 вместо 7 на последнем шаге ...

У меня просто нет подсказки ... почему? Кто-нибудь видит причину?

Заранее спасибо.

+1

Какой у вас html? – kgiannakakis

+0

это богатая таблица данных из jsf. –

ответ

1

i=10 потому, что вы используете его в качестве индекса функции, попробуйте использовать j или что-то другое:

jQuery('#inbox:_inboxTable_').find('span[title=isArchivedStatusPlusIncludeArchive]').each(function(j, o){ 
... 
} 

Кроме того, вместо того, чтобы использовать jQuery(this).parent().parent().parent().fadeOut(); вы могли бы использовать (tr - ваша цель).

+0

Я знал, что было что-то маленькое :) Большое спасибо. –

+0

И о второй части вашего ответа: ближайший ('tr') имеет вредоносное поведение в Firefox. –

+0

У меня никогда не было проблем с использованием «ближайшего», с какими проблемами вы сталкиваетесь или слышали? Мне любопытно. – Mottie

2

насчет:

$("#table_id tr:hidden").length 
+0

Есть и другие скрытые, поэтому я не могу рассчитывать на это решение. –