Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2013, 13:52   #1
Jopses
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 39
По умолчанию Волшебный toggle() или кривые руки?

Здравствуйте уважаемый!

Столкнулся с абсурдностью toggle(), хотя наверное это моя логика столкнулась с абсурдом.

Задача в следующем: Функция во вложении формирует Таблицу ГРУППА КАМЕР -- ПОЛЬЗОВАТЕЛИ -- и ПРАВА ПОЛЬЗОВАТЕЛЕЙ на эти группы (рисунок сформированной таблицы прилагается). В свою очередь после каждой ГРУППЫ КАМЕР формируются <tr> с КАМЕРАМИ входящими в данную группу (+ отношения прав к каждому пользователю). Предполагалось, что при клике по <tr> в которой формируется ГРУППА КАМЕР и её ПРАВА, будут появляться/скрываться КАМЕРЫ со своими ПРВАМИ, входящие в данную группу

Проблема: click отрабатывает своё, но странно. При нажатии на любую <tr> с ГРУППОЙ КАМЕР, всегда появляются/ скрываются КАМЕРЫ относящиеся к последней ГРУППЕ КАМЕР (после неё конечно же). Остальные камеры как были скрыты, так и остались.

Если кто сталкивался с подобным, прошу помощи или хоть наводку куда копать.
Если что не понятно, отвечу и разжую более подробно.

Благодарю всех тех кто откликнется!

PS: click на 54 строке
Изображения
Тип файла: jpg Таблица.jpg (82.2 Кб, 145 просмотров)
Вложения
Тип файла: rar table.rar (1.3 Кб, 9 просмотров)
Jopses вне форума Ответить с цитированием
Старый 14.02.2013, 08:27   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Неверно задан селектор.
Неохота качать, вставляйте часть кода сюда.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 14.02.2013, 13:30   #3
Jopses
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 39
По умолчанию

Спасибо за проявленное внимание. Решение нашёл. Надо было сделать замыкание)
Jopses вне форума Ответить с цитированием
Старый 14.02.2013, 14:41   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

О_о ?
Весь jQuery построен на вызовах колбэков и замыканиях... Как?

===============
Вы используете глобальные переменные; не используете контекст событий; создаете лишние объекты jQuery; лишний поиск по всему дереву dom; перебор массива через for-in; вставляете html, который потом ищите через класс по всему документу...
В итоге в ишаке 9- код работает в 20 раз медленней (поиск по классу вместо поиска внутри ветки узла dom $(this).find(...) ), код может быть сломан добавлением строгого режима js (необъявленные переменные), код сломается при изменении объекта Array (for-in вместо более быстрых for или $.each (который кстати создает замыкание для каждой итерации) ), ну и в принципе нерациональное использование ресурсов (создание элемента, а потом поиск его по документу, вместо создания локальной переменной для него).

А так, ничего код... прикольное форматирование, хоть и cp1251 на комментах=)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Волшебный QReport nVz БД в Delphi 1 04.10.2012 17:25
jQuery передать фокус на input после toggle cssfixer JavaScript, Ajax 1 05.05.2011 17:56
String - странность или кривые руки elsin Общие вопросы Delphi 12 29.01.2009 02:17
это вирус или кривые руки? AngelOfDeath Безопасность, Шифрование 4 03.06.2008 14:04
C# + Access + кривые руки pu4koff Общие вопросы .NET 2 15.04.2008 14:42