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

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

14.11.2018, 12:04. Просмотров 374. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2018, 12:04
Ответы с готовыми решениями:

Тип даных 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...

Цикл: по каждому клику на "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; ...

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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2018, 12:29

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

Что означает строка $("#tabs li:first").addClass("current");?
В оглавлении и так всё сказано. Буду благодарен за помощь, желательно побыстрее. Добавлено через...

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


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

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

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