Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.03.2017, 23:17
Новичок на форуме
Отправить личное сообщение для corton Посмотреть профиль Найти все сообщения от corton
 
Регистрация: 31.03.2017
Сообщений: 2

Активирование одновременное двух input[type=radio]
Привет.

Есть 2 формы, одна доставку выбирает, вторая оплату.
Задача сделать чтобы для доставки_1 автоматически выбиралась оплата_1, соответственно если выбирается доставка_2 чтобы была выбрана оплата_2

<h2>Доставка</h2>
<form action="">  
<input type="radio" id="deliveri_1" name="deliveri" value="1">
<input type="radio" id="deliveri_2" name="deliveri" value="2">
<input type="radio" id="deliveri_3" name="deliveri" value="3">
<input type="radio" id="deliveri_4" name="deliveri" value="4">
</form>

<h2>Оплата</h2>
<form action="">  
<input type="radio" id="payment_1" name="payment" value="1">
<input type="radio" id="payment_2" name="payment" value="2">
<input type="radio" id="payment_3" name="payment" value="3">
<input type="radio" id="payment_4" name="payment" value="4">
</form>
<script>

Как посоветуете реализовать взаимодействие форм?
Ответить с цитированием
  #2 (permalink)  
Старый 31.03.2017, 23:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

corton,
<!DOCTYPE html>

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


</head>

<body>
<h2>Доставка</h2>
<form action="">
<input type="radio" id="deliveri_1" name="deliveri" value="1">
<input type="radio" id="deliveri_2" name="deliveri" value="2">
<input type="radio" id="deliveri_3" name="deliveri" value="3">
<input type="radio" id="deliveri_4" name="deliveri" value="4">
</form>

<h2>Оплата</h2>
<form action="">
<input type="radio" id="payment_1" name="payment" value="1">
<input type="radio" id="payment_2" name="payment" value="2">
<input type="radio" id="payment_3" name="payment" value="3">
<input type="radio" id="payment_4" name="payment" value="4">
</form>

  <script>
window.addEventListener("DOMContentLoaded", function() {
    var form = document.querySelectorAll("form");
    [].forEach.call(form, function(item, i) {
        item.addEventListener("change", function() {
            var inp = item.querySelector('[type="radio"]:checked');
            if (inp) form[+!i].querySelector('[type="radio"][value="' + inp.value + '"]').checked = true
        })
    })
});
  </script>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 01.04.2017, 10:47
Новичок на форуме
Отправить личное сообщение для corton Посмотреть профиль Найти все сообщения от corton
 
Регистрация: 31.03.2017
Сообщений: 2

рони, спасибо!

А если это в рамках одной формы вот так будет:
<form action="">
<h2>Доставка</h2>
<input type="radio" id="deliveri_1" name="deliveri" value="1">
<input type="radio" id="deliveri_2" name="deliveri" value="2">
<input type="radio" id="deliveri_3" name="deliveri" value="3">
<input type="radio" id="deliveri_4" name="deliveri" value="4">
<h2>Оплата</h2>
<input type="radio" id="payment_1" name="payment" value="1">
<input type="radio" id="payment_2" name="payment" value="2">
<input type="radio" id="payment_3" name="payment" value="3">
<input type="radio" id="payment_4" name="payment" value="4">
</form>
<script>

То так выходит по name нужно проверку делать?
Ответить с цитированием
  #4 (permalink)  
Старый 01.04.2017, 11:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

corton,
<!DOCTYPE html>

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


</head>

<body>
<form action="">
<h2>Доставка</h2>
<input type="radio" id="deliveri_1" name="deliveri" value="1">
<input type="radio" id="deliveri_2" name="deliveri" value="2">
<input type="radio" id="deliveri_3" name="deliveri" value="3">
<input type="radio" id="deliveri_4" name="deliveri" value="4">
<h2>Оплата</h2>
<input type="radio" id="payment_1" name="payment" value="1">
<input type="radio" id="payment_2" name="payment" value="2">
<input type="radio" id="payment_3" name="payment" value="3">
<input type="radio" id="payment_4" name="payment" value="4">
</form>



  <script>
window.addEventListener("DOMContentLoaded", function() {
    var form = document.querySelector("form"), obj = {deliveri : 'payment',payment : 'deliveri'};
        form.addEventListener("change", function(event) {
            var inp = event.target, name = obj[inp.name];
            if (name) form.querySelector('[name="'+name+'"][value="' + inp.value + '"]').checked = true
        })

});
  </script>

</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск кода после включения ДВУХ из МНОГИХ checkbox Otku Элементы интерфейса 1 13.03.2017 22:53
Одновременное активирование двух input[type=radio] Low_Weaper Элементы интерфейса 7 06.10.2015 08:13
SDoc и документация на двух языках (Рус, Англ). Как реализовать? FINoM Оффтопик 7 30.09.2014 17:18
Пересечение и разность двух массивов harold Общие вопросы Javascript 9 18.12.2013 21:41
как сделдать меню из двух калонок как в bestchange.ru Андрей Лебедев Элементы интерфейса 2 21.01.2013 10:32