Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.05.2014, 16:10
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 201

в зависимости от radio скрыть или отобразить тот или иной div
есть группа товаров помещенных в .item вот такой код имеет примерно

<div class="item">
<input type="radio" name="30sm" value="30 сантиметров"> 30 см.<br>
<input type="radio" name="40sm" value="40 сантиметров" checked> 40 см.<br>
<div style='display:none' id="30s">цена за 30см</div>
<div style='display:none' id="40s">цена за 40см</div>
</div>


<div class="item">
<input type="radio" name="30sm" value="30 сантиметров"> 30 см.<br>
<input type="radio" name="40sm" value="40 сантиметров" checked> 40 см.<br>
<div style='display:none' id="30s">цена за 30см</div>
<div id="40s">цена за 40см</div>
</div>


<div class="item">
....
</div>



нужно если выбран input type="radio" name="40sm" - был открыть только div#40s а если выбран input type="radio" name="30sm" то нужно чтоб был открыт только div#30s


как сделать код для JQuery чтобы открывался и скрывался только тот div#40s и div#30s который расположен в том же <div class="item"></div>

в котором был выбран радио боттон.
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2014, 16:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ufaclub,
а то что id одинаковые это нормально?
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2014, 16:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ufaclub,
Вариант без js
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .item div {
    display: none;
  }
  [name="30sm"]:checked ~ [id="30s"] {
    display: block;
  }
  [name="40sm"]:checked ~ [id="40s"] {
    display: block;
  }
  </style>
</head>

<body>
 <div class="item">
<input type="radio" name="30sm" value="30 сантиметров"> 30 см.<br>
<input type="radio" name="40sm" value="40 сантиметров"> 40 см.<br>
<div id="30s">цена за 30см</div>
<div id="40s">цена за 40см</div>
</div>


<div class="item">
<input type="radio" name="30sm" value="30 сантиметров"> 30 см.<br>
<input type="radio" name="40sm" value="40 сантиметров" checked> 40 см.<br>
<div id="30s">цена за 30см</div>
<div id="40s">цена за 40см</div>
</div>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 14.05.2014, 17:05
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 201

Сообщение от рони Посмотреть сообщение
ufaclub,
Вариант без js
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .item div {
    display: none;
  }
  [name="30sm"]:checked ~ [id="30s"] {
    display: block;
  }
  [name="40sm"]:checked ~ [id="40s"] {
    display: block;
  }
  </style>
</head>

<body>
 <div class="item">
<input type="radio" name="30sm" value="30 сантиметров"> 30 см.<br>
<input type="radio" name="40sm" value="40 сантиметров"> 40 см.<br>
<div id="30s">цена за 30см</div>
<div id="40s">цена за 40см</div>
</div>


<div class="item">
<input type="radio" name="30sm" value="30 сантиметров"> 30 см.<br>
<input type="radio" name="40sm" value="40 сантиметров" checked> 40 см.<br>
<div id="30s">цена за 30см</div>
<div id="40s">цена за 40см</div>
</div>
</body>
</html>

При этом варианте можно выбрать в итоге и 30 и 40 см. в одном .item
а нужно чтобы можно было выбрать или только 30 или только 40
Ответить с цитированием
  #5 (permalink)  
Старый 14.05.2014, 17:09
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 201

Сообщение от рони Посмотреть сообщение
ufaclub,
а то что id одинаковые это нормально?
можно и без айди обойтись, мне главное использовать селекторы внутри item в котором и происходит выбор радиобаттона
Ответить с цитированием
  #6 (permalink)  
Старый 14.05.2014, 17:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от ufaclub
При этом варианте можно выбрать в итоге и 30 и 40 см. в одном .item
переделайте html как вам нужно
Ответить с цитированием
  #7 (permalink)  
Старый 14.05.2014, 18:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ufaclub, или вам нужно сделать все input с одинаковым name? код ниже сработает и так и так
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .item div {
    display: none;
  }
  .item input:first-of-type:checked ~ div:first-of-type  {
    display: block;
  }
  .item input:last-of-type:checked ~ div:last-of-type  {
    display: block;
  }
  </style>
</head>

<body>
 <div class="item">
<input type="radio" name="ky" value="30 сантиметров"> 30 см.<br>
<input type="radio" name="ky" value="40 сантиметров"> 40 см.<br>
<div id="30s">цена за 30см</div>
<div id="40s">цена за 40см</div>
</div>


<div class="item">
<input type="radio" name="neky" value="30 сантиметров"> 30 см.<br>
<input type="radio" name="neky" value="40 сантиметров" checked> 40 см.<br>
<div>цена за 30см</div>
<div>цена за 40см</div>
</div>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление блоков div в зависимости от radio Oracool Events/DOM/Window 1 04.12.2009 18:39