|
0 / 0 / 1
Регистрация: 12.12.2012
Сообщений: 24
|
||||||
Вызов функции при клике на ячейку таблицы29.06.2015, 17:16. Показов 5255. Ответов 7
Метки нет (Все метки)
Есть таблица. Требуется каждой ячейке (td) установить вызов одной функции, но с разными параметрами (номер строки и столбца ячейки). Есть следующий код:
0
|
||||||
| 29.06.2015, 17:16 | |
|
Ответы с готовыми решениями:
7
Как сделать обработку событий при клике на ячейку таблицы При клике на одну ячейку таблицы одновременно кликались две ячейки |
|
Ренегат
|
|
| 03.07.2015, 02:23 | |
|
Zlobengod, у меня похожая проблема тут
только у меня был последний инициированный класс так и не могу разобраться в чём проблема, и у тебя скрипт вроде правильный, но как я понимаю работает не корректно у меня подозрения что это какая-то из "хитростей" prototype хотя может я и криворукий Добавлено через 7 минут а что такое у вас eventTouchend? Добавлено через 42 секунды точнее говоря, приведите его код пожалуйста
0
|
|
|
288 / 175 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
|
| 03.07.2015, 02:28 | |
|
Цикл прошел, значение получилось то которое вышло из него и так каждый раз. Или может я не так понял ваш код? Сбрось весь проект, я посмотрю.
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 03.07.2015, 04:06 | |
|
прописывать функцию каждой ячейке - не рационально
достаточно прописать функцию таблице, которая: 1) определит объект клика через event.srcElement || event.target 2) по цепочке родителей дойдёт до тега <td> и узнает его cellIndex 3) продолжив "поход" по цепочке, дойдёт до тега <tr> и узнает его rowIndex
0
|
|
|
Модератор
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
|
||||||
| 03.07.2015, 04:06 | ||||||
|
Zlobengod, если вы работает с обработчиками, то используйте всегда замыкание, если вешаете их на несколько элементов с индивидуальными параметрами. А еще лучше, записать данные в атрибут элемента и передавать сам элемент в ф-цию
Может проблема и не в этом, но попробуйте так
0
|
||||||
|
111 / 49 / 20
Регистрация: 21.10.2013
Сообщений: 212
|
||||||
| 04.07.2015, 14:52 | ||||||
|
Zlobengod, добро пожаловать в удивительный мир замыканий и областей видимости.
Ошибка здесь:
А вообще Вы правой ногой левоое ухо чешете, почитайте про делегирование и сделайте как kalabuni говорит.
0
|
||||||
|
111 / 49 / 20
Регистрация: 21.10.2013
Сообщений: 212
|
|||||||||||||||||||||
| 05.07.2015, 21:56 | |||||||||||||||||||||
|
Zlobengod, BANO
Я наконец-то добрался до объяснения. Итак, первое что надо понимать, это что в js области видимости определяются не блоками, как в java, C# или C++. Они определяются блоками. Пример:
Можно проиллюстрировать это создав функцию, которая считает число своих вызовов например
Замыкания - это одна из самых могущественных и неинтуитивных частей js, граница между js-программистами и "простыми смертными" пролегает как раз где-то в районе понимания замыканий. Что с этим делать? Самый простой и распространенный способ описал Thisman, надо создать отдельный лексический скоуп, отдельную область видимости, которая будет нужное вам значение переменной в себе сохранять. Обернуть в еще одну функцию другими словами. TLDR: Заботай замыкания. А вообще конкретно в этой задаче надо использовать делегирование событий. BANO, релевантно твоему суперплееру?
0
|
|||||||||||||||||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 06.07.2015, 01:49 | |
|
0
|
|
| 06.07.2015, 01:49 | |
|
Помогаю со студенческими работами здесь
8
При клике по ячейке вставить текст в другую ячейку этой же таблицы Как при клике на checkbox ввести галочку в текущую ячейку таблицы Вывод новой Form, при двойном клике на ячейку таблицы выбранного столбца
Вызов функции при клике на кнопку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|