Показать сообщение отдельно
  #1 (permalink)  
Старый 28.04.2011, 16:54
IHB IHB вне форума
Новичок на форуме
Отправить личное сообщение для IHB Посмотреть профиль Найти все сообщения от IHB
 
Регистрация: 28.04.2011
Сообщений: 7

Глобальные переменные в jquery
Есть некий код, который отвечает за разворачивание и сворачивание определённого дива.

var ind;
function getId(id){
ind = id;
}
$(document).ready(function(){
$(".expand_box").hide();
$(".expand1").click(function(){

$(this).parent().next().slideToggle("fast");
$(this).css("display","none");
});
$(".hide1").click(function(){
$(ind).parent().next().slideToggle(function(){
$(ind).css("display","block");
});
});
});


И есть спан который, при нажатии по нему, отправляет в функцию getId свой уникальный индификатор:

<span onClick="getId('.expand$myrow1[id_game]')" class="expand$myrow1[id_game]">+</span>


Общая картина: Допустим, в базе есть 3 объекта(их может быть сколько угодно), из них строится 3 дива. При нажатии на спан, нужно определять, какой именно див следует раскрыть(при этом могут быть расскрыты одновременно все дивы, либо 2 открыто, 1 скрыт, либо все скрыты и тд.)

Теперь собственно, сама проблема:

Если заменить
$(".expand1").click(function(){
на переменную, в который хранится айдишник спана, по которому клацнули:
$("ind).click(function(){
, то ничего работать не хочет, если же оставлять как есть, будет открыватся только span с индификатором 1, а остальные работать соответственно не будут.
Использовав алерт, вижу, что переменная ind is undefined. Помогите, как сделать, что бы переменная была определена? Если есть альтернативы, как сделать то, что мне нужно, буду очень признателен. Спасибо!
Ответить с цитированием