Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 31.07.2018
Сообщений: 23
1

Как добавить обработчик клика по "document" внутри цикла "for"?

14.11.2018, 12:04. Просмотров 595. Ответов 1


Здравствуйте! Есть такой кусок куда как
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$(document).on('click', '#calcA', function() {
    $("#calcASum").addClass("field");
    ($(this).is(":checked")) ? $("#calcAInfo").css("display", "") : $("#calcAInfo").css("display", "none");
});
 
$(document).on('click', '#calcB', function() {
    $("#calcBSum").addClass("field");
    ($(this).is(":checked")) ? $("#calcBInfo").css("display", "") : $("#calcBInfo").css("display", "none");
});
 
$(document).on('click', '#calcC', function() {
    $("#calcCSum").addClass("field");
    ($(this).is(":checked")) ? $("#calcCInfo").css("display", "") : $("#calcCInfo").css("display", "none");
});
изменяется только A B и C
вот хотел написать через for()
Javascript
1
2
3
4
5
6
7
var item = ['A', 'B', 'C'];
for(var i=0; i<item.length; i++) {
    $(document).on('click', '#calc'+item[i], function() {
        $("#calc"+item[i]+"Sum").addClass("field");
        ($(this).is(":checked")) ? $("#calc"+item[i]+"Info").css("display", "") : $("#calc"+item[i]+"Info").css("display", "none");
    });
}
он после функции клика добавляет еще один. Получается внутри функции уже i = 3. Есть другие решении данной задачи? Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2018, 12:04
Ответы с готовыми решениями:

Как в href="" добавить "https://www.google.com/search?q=" + текст из инпута
Всем хело. Покажите, как в href добавить ссылку на гугл поиск + $('').val(); так, чтобы в итоге...

Тип даных JQuery var ["dffd","dfdf","fffd"]
Работаю с типом таким var availableTags = ; если использую source: availableTags то...

Добавить кнопки "плюс" и "минус" калькулятору
Добрый день! Есть калькулятор с ползунком. Задача поставить кнопки + и - чтобы при нажатии на них...

Как сделать, чтобы результат показывался при клике на id="txtDate" без onclick="getdate()"?
&lt;p&gt;Date: &lt;input id=&quot;txtDate&quot; type=&quot;text&quot; /&gt; &lt;/p&gt; &lt;p&gt; &lt;input...

1
0 / 0 / 0
Регистрация: 31.07.2018
Сообщений: 23
15.11.2018, 12:29  [ТС] 2
РЕШЕНО! Дело в том, что я ссылаюсь на внешнюю переменную. И в моем случае я должен написать через const или let:
Javascript
1
2
3
4
5
6
7
8
var item = ['A', 'B', 'C'];
for(var i=0; i<item.length; i++) {
    const j = i;
    $(document).on('click', '#calc'+item[j], function() {
        $("#calc"+item[j]+"Sum").addClass("field");
        ($(this).is(":checked")) ? $("#calc"+item[j]+"Info").css("display", "") : $("#calc"+item[j]+"Info").css("display", "none");
    });
}
или же
Javascript
1
2
3
4
5
6
7
var item = ['A', 'B', 'C'];
for(let i=0; i<item.length; i++) {
    $(document).on('click', '#calc'+item[i], function() {
        $("#calc"+item[i]+"Sum").addClass("field");
        ($(this).is(":checked")) ? $("#calc"+item[i]+"Info").css("display", "") : $("#calc"+item[i]+"Info").css("display", "none");
    });
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2018, 12:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Цикл: по каждому клику на "unload" крайний блок должен исчезнуть, по "load" восстановиться. Ц
Здравствуйте. Я начал осваивать jquery самостоятельно по задачнику в интернете, поэтому иногда...

При отправке данных с формы на почту, из-за Jquery, там где type="password" приходят не символы, а "****"
&lt;!DOCTYPE html &gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt; ...

Имитация клика по кнопке "показать".
Привет!!! Помогите разобраться с кнопкой. В общем есть кнопка на сайте которая изначально скрывает...

input "file" убрать тип "все файлы"
Можно ли при помощи accept это как то сделать? Грубо говоря оставить только картинки. Или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.