Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   вывод по радиокнопке (https://javascript.ru/forum/dom-window/68873-vyvod-po-radioknopke.html)

dantist433 15.05.2017 15:00

вывод по радиокнопке
 
Добрый день, разбираюсь с радиокнопками.
Возникло 2 вопроса
<!DOCTYPE HTML>
<html>
  <head> 
</head>
  <body>
    <input type="radio" name="user" id="r1" class="user" checked="checked">Один</input><br>
    <input type="radio" name="user" id="r2" class="user">два</input><br>
    <input type="radio" name="user" id="r3" class="user">три</input><br>
       
    <label id="one" style="display:block;">Один</label>
	<label id="two" style="display:none;">два</label>
    <label id="three" style="display:none;">три</label>
	
	<label id="one" style="display:block;">Один</label>
	<label id="two" style="display:none;">два</label>
    <label id="three" style="display:none;">три</label>
	
	<label id="one" style="display:block;">Один</label>
	<label id="two" style="display:none;">два</label>
    <label id="three" style="display:none;">три</label>
    <script>
      var inp = document.getElementsByClassName('user');
      var one = document.getElementById('one');
      var two = document.getElementById('two');
	  var three = document.getElementById('three');
	  
      function func (elm) {
        if (elm.id == "r1" && elm.checked)
          one.style.display = "block";
        else
          one.style.display = "none";
		if (elm.id == "r2" && elm.checked)
          two.style.display = "block";
        else
          two.style.display = "none";  
        
        if (elm.id == "r3" && elm.checked)
          three.style.display = "block";
        else
          three.style.display = "none";
      }
      
      for (var i=0;i<inp.length;i++){
        inp[i].onchange = function () {func(this)};
      }
      
    </script>

  </body>
</html>



1. Мне надо заменить значения во всех label, а не только в первой тройке, как это сделать

и 2. Как делать на форуме что бы можно было запускать скрипт, т.е. появлялась кнопочка просмотреть

рони 15.05.2017 15:52

Цитата:

Сообщение от dantist433
Как делать на форуме что бы можно было запускать скрипт

[HTML run][/HTML]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

MrMZZ 15.05.2017 15:55

Я, конечно, могу ошибаться, но попробуй прописать зависимость If
с вызовом div-а или span-а с текстом

dantist433 15.05.2017 15:55

Спасибо, исправил, а по первому вопросу ничего не подскажите?

dantist433 15.05.2017 15:57

Цитата:

Сообщение от MrMZZ (Сообщение 452466)
Я, конечно, могу ошибаться, но попробуй прописать зависимость If
с вызовом div-а или span-а с текстом

Это каким образом?

рони 15.05.2017 16:25

dantist433,
id почему одинаковые замените на класс, и может span а не label?

рони 15.05.2017 16:27

dantist433,
для данной структуры скрипт не нужен достаточно css

dantist433 15.05.2017 16:40

Цитата:

Сообщение от рони (Сообщение 452471)
dantist433,
для данной структуры скрипт не нужен достаточно css

Да не выводит он через
<style type="text/css">
  input:checked + label {
    display:  inline-block;
  }
 label{
   display: none;
 }

  </style>


Или вы не это имели ввиду?

рони 15.05.2017 17:08

Цитата:

Сообщение от dantist433
Или вы не это имели ввиду?

именно это, только слекторы уточните

рони 15.05.2017 17:29

dantist433,
<!DOCTYPE HTML>
<html>
  <head>
    <meta charset="utf-8">
    <style type="text/css">
  label {
        display: none;
      }
  #r1:checked ~ label:nth-child(3n+1) {
    display:  inline-block;
  }
  #r2:checked ~ label:nth-child(3n+2) {
    display:  inline-block;
  }
  #r3:checked ~ label:nth-child(3n) {
    display:  inline-block;
  }

    </style>

</head>
  <body>
    <input type="radio" name="user" id="r1" class="user" checked="checked">Один<br>
    <input type="radio" name="user" id="r2" class="user">два<br>
    <input type="radio" name="user" id="r3" class="user">три<br>

  <label >Один</label>
  <label >два</label>
  <label >три</label>

  <label  >Один</label>
  <label  >два</label>
  <label  >три</label>

  <label  >Один</label>
  <label  >два</label>
  <label  >три</label>

  </body>
</html>


Часовой пояс GMT +3, время: 06:12.