Бьюсь который день над проблемой.
Вобщем так: на странице есть три кнопки переключения по трем видам меню. Меню с использованием плагина jquery.treeview. Есть одинаковые пункты в каждом меню, только у них разная вложенность. (все три меню находятся на одной странице, переключение между ними происходит по смене display:none на block ).
Необходимо сделать так, чтобы если, нажимаю на пункт 1-го меню (неважно какой вложенности), он подсвечивался и такой же пункт (если он есть) открывался и подсвечивался в двух других меню, т.е при переключении на другое меню этот пункт был уже подсвечен и открыт. Вот к примеру меню2:
$result = mysql_query("SELECT found_in_release as ff, name as nn, bugs.id as bb
FROM bugs
WHERE ff IS NOT NULL ORDER BY ff");
$cur_sys = '';
echo '<ul id="browser1" class="filetree">';
while($row = mysql_fetch_assoc($result))
{
if ($row['parent']!=$cur_sys)
{
echo '<li class="closed"><span class="folder"><a href=# OnClick=clicks("'.$row['ss'].'")>'.$row['parent'].'</a></span>';
$cur_sys = $row['parent'];
}
echo '<ul>';
echo '<ul><li class="closed"><span class="file"><a href=# OnClick=clickt("'.$row['bb'].'")>'.$row['child'].'</a></span>';
echo '</li>';
echo '</ul>';
echo '</li>';
echo '</ul>';
}
По нажатию сделала подсветку текущего пункта,
$(document).ready(function(){
$('#content a').click(function(){//при клике на эл-т a из дива content
var number = $(this).index();//получаем порядковый номер эл-та
$(this).addClass('current'); //присваиваем ему класс
$('a').not(this).removeClass('current'); //при след. клике удаляем класс
но как сделать остальное ума не приложу. Ведь найти такой же элемент можно по его значению идентификатора из базы (bugs.id например), но они хранятся на стороне сервера, а как со стороны клиента это сделать? или я вообще не права. вобщем каша какая-то. Прошу помощи, не ругайте за код, я начинающий..
Спустя 4 дня, 13 часов, 26 минут, 14 секунд (2.09.2011 - 10:19) Lisa написал(а):
Сделала так, может кому пригодится:
$(document).ready(function(){
$('#content a').click(function(){//при клике на эл-т a из дива content
$(this).addClass('current');//присваиваем ему класс
$('a').not(this).removeClass('current'); //при след. клике удаляем класс
var curName = $(this).attr("name");
var t="a[name="+curName+"]";
var current = $('ul.filetree').find(t)
.addClass('current');
//.filter(function() {return this.href.toLowerCase() == location.href.toLowerCase(); });
current.parent().addClass("selected").end().addClass("selected").parents("ul, li").add( current.next() ).show();
$('a').not(t).removeClass('current');
var current1 = $('ol.filetree').find(t)
.addClass('current');
//.filter(function() {return this.href.toLowerCase() == location.href.toLowerCase(); });
current1.parent().addClass("selected").end().addClass("selected").parents("ol, li").add( current.next() ).show();
$('a').not(t).removeClass('current');
});
});
Спустя 1 день, 9 часов, 56 минут, 21 секунда (3.09.2011 - 20:16) Guest написал(а):
а toggle уже не используется?