Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.03.2018, 00:34
Интересующийся
Отправить личное сообщение для angel026 Посмотреть профиль Найти все сообщения от angel026
 
Регистрация: 18.07.2017
Сообщений: 15

Как отметить оба чек-бокса при нажатии на 1?
Я своим скудным познанием JS смог только добиться выделении всех дочерних чек-боксов при нажатии на главный.
Прошу знающих помощи, как сделать чтобы при нажатии на Главный чек-бокс "checkboxes" выделялся только тот что находится с ним рядом в массиве "cpu_url", а не все в массиве?
Заранее благодарю за ответ!
Вот кусок кода:
var checkboxes = cpu.getElementsByClassName("choose_check"); 
var cpu_url = cpu.getElementsByClassName("choose_check_url"); 
var checkboxesChecked = [];   
var cc_cpu_url = []; 
  
        for (var index = 0; index < checkboxes.length; index++) {
            if (checkboxes[index].checked) {
            checkboxesChecked.push(slovo_cpu + modal_all + checkboxes[index].value + "<br />"); // положим в массив выбранный
            }
			
		for (var index_cpu_url = 0; index_cpu_url < cpu_url.length; index_cpu_url++) {
            if (checkboxes[index].checked) {
                cpu_url[index_cpu_url].checked = true;
            }
            if (cpu_url[index_cpu_url].checked) {
            cc_cpu_url.push(cpu_url[index_cpu_url].value); // положим в массив выбранный
            }
        }
        }
        
    document.getElementById('cpu').innerHTML = checkboxesChecked.join(' '); //рабочий вариант
    document.querySelector('iframe[class="frame-prod-cpu"]').setAttribute('src', cc_cpu_url);

код php массива :

echo '<td class="cell_choose_check" id="cell_cc_id_'.$i.'">';
echo '<label><input class="choose_check" id="cc_'.$i.'" name="check[]" type="checkbox" 
value=" '.$product['child']['product_sku'].' '.$product['child']['product_name'].'  '.$product['prices']['basePrice'].' 
                            '.$currency->getSymbol().'
                            "
onchange="getCheckedCheckBoxes()">';    
echo '<input class="choose_check_url" id="cc_url_'.$i.'" name="check[]" value="'.$view_produt_detal.'" type="checkbox"></label>';
 echo '</td>';


Задача, при событии onchange получить значение value 1-го чек-бокса и передать в определенное место в html документе.
При клике поставить checked во 2-й чек-бокс, для передачи ссылки в блок iframe. При ручном клике на оба чек-бокса все работает, при коде что выше работает только выделение всех 2-х чек-боксов и передача последней ччылки из массива.
Я пытаюсь сделать так, что бы при клике на 1-й чек-бокс 2-й тоже бы выделялся.

Последний раз редактировалось angel026, 26.03.2018 в 01:41. Причина: добавил код
Ответить с цитированием
  #2 (permalink)  
Старый 26.03.2018, 00:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,140

... подожду телепата или минимального макета с описанием
Ответить с цитированием
  #3 (permalink)  
Старый 26.03.2018, 01:18
Интересующийся
Отправить личное сообщение для angel026 Посмотреть профиль Найти все сообщения от angel026
 
Регистрация: 18.07.2017
Сообщений: 15

Сообщение от рони Посмотреть сообщение
... подожду телепата или минимального макета с описанием
Прошу прощения, если чего то не указал...
что именно нужно еще указть
Заранее благодарю
Ответить с цитированием
  #4 (permalink)  
Старый 26.03.2018, 01:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,140

angel026,
не понимаю что вы хотите сделать, возможно кто-то другой вам поможет.
Ответить с цитированием
  #5 (permalink)  
Старый 26.03.2018, 01:44
Интересующийся
Отправить личное сообщение для angel026 Посмотреть профиль Найти все сообщения от angel026
 
Регистрация: 18.07.2017
Сообщений: 15

Сообщение от рони Посмотреть сообщение
angel026,
не понимаю что вы хотите сделать, возможно кто-то другой вам поможет.
добавил свои "хотелки", вот ссылка на сайт
https://makcon.ru/catalog/create-pc
нажмите на Иконку выбора процессоров, Вы увидите таблицу, в конце строки два чек бокса
Ответить с цитированием
  #6 (permalink)  
Старый 26.03.2018, 02:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,140

angel026,
насколько я вас понял ...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
     window.addEventListener('DOMContentLoaded', function() {
       [].forEach.call(document.querySelectorAll('.choose_check'), function(item) {
               item.addEventListener('change', function() {
                   var parent = item.parentNode;
                   var url = parent.querySelector('.choose_check_url')
                   url.checked = item.checked
               });
           });
         });
  </script>
</head>

<body>
<label><input class="choose_check" id="cc_6" name="check[]" value="
                            cpu-test-22
                            CPU AMD-22
                            9002
                            ₽
                            " onchange="getCheckedCheckBoxes()" type="checkbox"><input class="choose_check_url" id="cc_url_6" name="check[]" value="'.index.php?option=com_virtuemart&amp;view=productdetails&amp;virtuemart_product_id=13 &amp;tmpl=component'" type="checkbox"></label>

<br>
<label><input class="choose_check" id="cc_6" name="check[]" value="
                            cpu-test-22
                            CPU AMD-22
                            9002
                            ₽
                            " onchange="getCheckedCheckBoxes()" type="checkbox"><input class="choose_check_url" id="cc_url_6" name="check[]" value="'.index.php?option=com_virtuemart&amp;view=productdetails&amp;virtuemart_product_id=13 &amp;tmpl=component'" type="checkbox"></label>
<br>
<label><input class="choose_check" id="cc_6" name="check[]" value="
                            cpu-test-22
                            CPU AMD-22
                            9002
                            ₽
                            " onchange="getCheckedCheckBoxes()" type="checkbox"><input class="choose_check_url" id="cc_url_6" name="check[]" value="'.index.php?option=com_virtuemart&amp;view=productdetails&amp;virtuemart_product_id=13 &amp;tmpl=component'" type="checkbox"></label></body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 26.03.2018, 18:15
Интересующийся
Отправить личное сообщение для angel026 Посмотреть профиль Найти все сообщения от angel026
 
Регистрация: 18.07.2017
Сообщений: 15

Спасибо работает )))
Только немного иначе желаемого результата.
Если вставить Вашу функцию в файл JS документа где работает функция "getCheckedCheckBoxes()" то ничего не происходит, а если вставить в корень php документа, все работает.
Придется дальше "копать" (((
Вам огромное СПАСИБО за помощь!
Ответить с цитированием
  #8 (permalink)  
Старый 26.03.2018, 19:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,140

angel026,
я не использовал getCheckedCheckBoxes, и не знаю зачем она у вас.
Ответить с цитированием
  #9 (permalink)  
Старый 26.03.2018, 19:41
Интересующийся
Отправить личное сообщение для angel026 Посмотреть профиль Найти все сообщения от angel026
 
Регистрация: 18.07.2017
Сообщений: 15

Сообщение от рони Посмотреть сообщение
angel026,
я не использовал getCheckedCheckBoxes, и не знаю зачем она у вас.
Это основная функция, которая берет значения value этих чекбоксов и динамически передает из JS в php
Ответить с цитированием
  #10 (permalink)  
Старый 26.03.2018, 19:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,140

angel026,
ок, всё что мог выше
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить тексты ссылок текстами из тегов span при нажатии All_ex74 Элементы интерфейса 13 28.08.2014 08:16
Как средствами Ajax при нажатии на кнопку (ссылку) открывать окно, в котором будет ин Sergo jQuery 3 13.03.2014 10:17
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как сделать проверку всех полей формы при нажатии кнопки sss2019 Общие вопросы Javascript 2 04.01.2014 02:00
Как заблокировать отмену анимации GIF при нажатии на ESC? kaf Events/DOM/Window 9 13.01.2013 12:48