<div class="applicationsHelper showList">
<ul class="toggleList">
<li class="bullet_yellow">
<a class="underline_hover" style="display:block;" href="#">
Z<br><span style="font-size: 9px;">D12</span>
</a>
</li>
<li class="bullet_yellow hidden-li" style="display: none;">
<a class="underline_hover" style="display:block;" href="#">
Z<br><span style="font-size: 9px;">091201514143</span>
</a>
</li>
</ul>
<div class="loadList">Rozwiń (1)</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.loadList').each(function(){
var tmp = $($(this).siblings($($('.showList').children('.toggleList')))).children('.hidden-li');
var toLoad = tmp.length;
var load = "Rozwiń (" + toLoad + ")";
$(this).html(load);
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
$('.loadList').click(function(){
var tmp = $($(this).siblings($($('.showList').children('.toggleList')))).children('.hidden-li');
tmp.toggle();
if( tmp.is(':visible')){
$(this).html("Zwiń");
} else {
var toLoad = tmp.length;
var load = "Rozwiń (" + toLoad + ")";
$(this).html(load);
}
});
});
</script>
- Jest to lista, na której pracują dwa powyższe skrypty. Powtarza się ona kilka razy na stronie w różnych komórkach tabel.
- Skrypt nr 1 ma za zadanie policzyć ile jest elementów ukrytych i podać tą wartość jako
Rozwiń (x)
. - Skrypt nr 2 odpowiedzialny jest za rozwijanie listy i pokazywanie elementów ukrytych oraz jej zwijanie.
O co chodzi?
Musiałem dodać skrypt nr 1 ponieważ js nie zliczał ilości ukrytych elementów po załadowaniu strony tylko po kliknięciu Rozwiń->Zwiń, co jest dosyć logiczne bo przecież tak mu kazałem, ale nie miałem innego pomysłu jak to rozwiązać. Czy jest to jedyne wyjście??