Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
225 / 216 / 89
Регистрация: 12.09.2015
Сообщений: 986

Скрипт работает только с первым чекбоксом на странице

31.03.2016, 15:06. Показов 1564. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Есть скрипт:
JavaScript
1
2
3
4
5
6
7
8
9
jQuery(document).ready(function($) {
    var elem = $('input[sec-name="Томатный"]');
    elem.change(function() {
        var value = elem.prop("checked");
    if(value == true) {
        alert("eee");
    }
});
});
Он выводит алерт при нажатии на соответствующий чекбокс. Инпутов с "sec-name="Томатный"" два (т.е. на странице много дублированных инпутов), обратиться к ним по уникальному id нельзя, нужно именно исходя из названия (sec-name = содержание label). Проблема заключается в том, что скрипт работает при нажатии на первый чекбокс на странице с sec-name и не срабатывает при нажатии на второй. Как заставить работать этот скрипт со всеми соответствующими чекбоксами?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2016, 15:06
Ответы с готовыми решениями:

После включения первым чекбоксом второго чекбокса выполнить скрипт
Всем привет. Есть два чекбокса. Программно первым чекбоксом включаю второй чекбокс. Как надо сделать так, чтобы после после этих...

Скрипт работает только на главной странице
Подскажите, друзья. Я в js полный нуб, а функцию реализовать хочется. Есть скрипт, который добавляет и убирает классы active-main и...

Скрипт не работает на странице, хотя отдельно все работает
ребят делаю сайт. js плохо знаю по это пытаюсь методом тыка написать программу в которой нажимая пункт в выпадающем списке ты выбераешь...

8
Философ-разговорник
 Аватар для Padonak
1066 / 391 / 120
Регистрация: 20.02.2016
Сообщений: 884
Записей в блоге: 1
31.03.2016, 20:37
Лучший ответ Сообщение было отмечено Анар как решение

Решение

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>123</title>
<script src="../jquery-latest.min.js"></script>
<script>
jQuery(document).ready(function($) {
    $('input[sec-name="Томатный"]').change(function(){
        var value = $(this).prop("checked");
    if(value) {
        alert($(this).val());
    }
});
});
</script>
</head>
<body>
<input type="checkbox" sec-name="Томатный" value="first" />
<input type="checkbox" sec-name="Томатный" value="second" />
</body>
</html>
Добавлено через 17 секунд
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>123</title>
<script src="../jquery-latest.min.js"></script>
<script>
jQuery(document).ready(function($) {
    $('input[sec-name="Томатный"]').change(function(){
        var value = $(this).prop("checked");
    if(value) {
        alert($(this).val());
    }
});
});
</script>
</head>
<body>
<input type="checkbox" sec-name="Томатный" value="first" />
<input type="checkbox" sec-name="Томатный" value="second" />
</body>
</html>
0
225 / 216 / 89
Регистрация: 12.09.2015
Сообщений: 986
31.03.2016, 23:17  [ТС]
Padonak, спасибо, работает. Не могли бы вы подсказать ещё кое что. Т.к. на странице так же используется условная логика, один из чекбоксов помечен "disabled", как сделать проверку и на checked и, на disabled? Написал примерно следующее:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
jQuery(document).ready(function($) {
    $('input[sec-name="Томатный"]').change(function(){
        var value = $(this).prop("checked");
        var disvalue = $(this).is(":disabled");
    if(value == true) {
        alert("1");
    }
    else if(value == false || disvalue == true) {
        alert("2");
    }
});
});
Но не работает. Пробовал выводить disvalue на страницу, $(this).is(":disabled") всегда false. Пробовал prop() и arrt(), они вообще ничего не возвращают.
0
Философ-разговорник
 Аватар для Padonak
1066 / 391 / 120
Регистрация: 20.02.2016
Сообщений: 884
Записей в блоге: 1
31.03.2016, 23:55
Если чекбокс disabled, то вы не сможете его изменить и onchange не произойдет. Для чего тогда проверка?
0
225 / 216 / 89
Регистрация: 12.09.2015
Сообщений: 986
01.04.2016, 01:03  [ТС]
Padonak, вот, чтобы легче было понять. Первые два элемента это радио-кнопки, всё остальное - чекбоксы. Но чекбоксов на странице по два каждого, один набор для 30см, второй для 40см. Условной логикой они переключаются при выборе одного из диаметров, одни становятся видимыми и активными, вторые скрыты и disabled.
Проблема возникает когда выбран какой-либо чекбокс, что вызывает появление изображения ингредиента (сейчас есть только у "Томатный") и если после этого поменять "размер коржа", то чекбокс становится и disabled, и checked и изображение не убирается, поскольку условия скрипта этого не подразумевают. И получается, что как бы собираешь заново, ингредиенты не выбраны, а на изображении они есть.

UPD. Вот сейчас подумал, что можно бы написать скрипт для радиокнопок, чтобы при смене диаметра все чекбоксы просто бы сбрасывались...

Добавлено через 16 минут
По последней мысли, сделал примерно следующее:
JavaScript
1
2
3
4
5
jQuery(document).ready(function($) {
    $('input[name="tmcp_radio_0"]').change(function(){
        $('input.tmcp-checkbox').prop("checked", false);
});
});
Но сработает немного не так, как я мог подумать. "Галочки" скрипт снимает, но остальные элементы (которые отключаются скриптом) это unchecked не видят. Изображении так и остаётся, так ещё в добавок и инпуты для выбора количества не пропадают.
0
Философ-разговорник
 Аватар для Padonak
1066 / 391 / 120
Регистрация: 20.02.2016
Сообщений: 884
Записей в блоге: 1
01.04.2016, 09:51
Лучший ответ Сообщение было отмечено Анар как решение

Решение

А не пробовали не просто снимать checked с отмеченных чекбоксов а сымитировать по ним клик? Вдруг прокатит? )) Что-то типа

PHP/HTML
1
2
3
4
5
jQuery(document).ready(function($) {
    $('input[name="tmcp_radio_0"]').change(function(){
        $('input.tmcp-checkbox:checked').each(function(){$(this).click();});
});
});
п.с. блин, от вашего сайта жрать захотелось сайт кайфовый!
0
225 / 216 / 89
Регистрация: 12.09.2015
Сообщений: 986
01.04.2016, 13:18  [ТС]
Padonak, я бы попробовал, если бы умел Работает! Спасибо!
1
Философ-разговорник
 Аватар для Padonak
1066 / 391 / 120
Регистрация: 20.02.2016
Сообщений: 884
Записей в блоге: 1
01.04.2016, 15:15
Ну и отлично )
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 40
30.08.2016, 07:22
Добрый день! данный пример успешно включил вывод $.getJSON,
но
при снятии галочки, действие не отменяется - выведенная информация так и "висит" на странице. не подскажете как доработать?

Добавлено через 31 секунду
JavaScript
1
2
3
4
5
6
7
8
9
10
<script>
jQuery(document).ready(function($) {
    $('input[sec-name="Томатный"]').change(function(){
        var value = $(this).prop("checked");
    if(value) {
        alert($(this).val());
    }
});
});
</script>
Добавлено через 3 минуты
Поясню: мой пример выглядит так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
jQuery(document).ready(function($) {
    $('input[name="agzs"]').change(function(){
        var value = $(this).prop("checked");
    if(value) {
        
$.getJSON("marker-layout.php", 
  function(data) {
    for (var i = 0; i < data.length; i++) {
       window.myObjects = ymaps.geoQuery({ 
           
            type: "FeatureCollection",
            features: [{
                type: 'Feature',
                geometry: {
                    type: 'Point',
                    coordinates: data[i].geolocation.split(/\s*,\s*/)
                },
                options: {
                    preset: 'islands#darkBlueDotIconWithCaption'
                },
                properties: {
                    iconCaption: 'АГЗС',
                    balloonContentHeader: data[i].name,
                    balloonContentBody: data[i].meta_keyword + '</br>' + data[i].model,
                    balloonContentFooter: '<a href="http://...." />Подробнее>>> </a>'
                }
            }]
        }).addToMap(myMap);
    }
});  
 }
});
});
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.08.2016, 07:22
Помогаю со студенческими работами здесь

Как сделать, чтобы скрипт запускался только на одной странице?
Размещаю javascript в файле page.tpl, он работает, но выводится на всех страницах. Нужно, чтобы выводился только на определенной странице....

Simplexml_load_file не работает скрипт на другой странице
Два скрипта в первый нужно запихать функцию добавления в корзину &lt;?php session_start(); //Первичные настройки ...

Ошибка: программа работает не со всеми студентами, а только с первым
Условие задания:Создать структуру, содержащая сведения о результатах сдачи сессии студентами II курса специальности &quot;Программирование...

Баннер работает только на главной странице.
Здравствуйте, закачал флеш баннер в корневую папку сайта public_html, поставил код баннера в отдельный блок, который тут же создал и...

Слайдер работает только на главной странице сайта
Здравствуйте! Подскажите пожалуйста, не могу понять почему слайдер работает только на главной странице, а на остальных не работает. Стиль...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru