Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2017, 13:38
Аспирант
Отправить личное сообщение для dasha862 Посмотреть профиль Найти все сообщения от dasha862
 
Регистрация: 31.03.2016
Сообщений: 36

Передача значений label в span
Здравствуйте.

Представленный скрипт при нажатии на checkbox передаёт значение label в <span class="selected"></span>

Подскажите, пожалуйста, как сделать:
- что бы при обновлении страницы(checkbox по-прежнему выбран) переданное значение в <span class="selected"></span> не слетало.
- Что бы выбранные checkbox не заменяли друг друга(как сейчас,чередуются), а вставали рядом.
Например: Материал (Велюр Кожа), и после клика checkbox на невыбран, Кожа - из <span class="selected"></span> удалялся.
<div class="bl-check">

<div class="dropdown-toggle">Материал <span class="selected"></span></div>

<div><input id="f_6710f_67" name="f_67[0]" value="0" type="checkbox">
<label for="f_6710f_67">Велюр</label></div>

<div><input id="f_6711f_67" name="f_67[1]" value="1" type="checkbox">
<label for="f_6711f_67">Кожа</label></div>

<div><input id="f_6712f_67" name="f_67[2]" value="2" type="checkbox">
<label for="f_6712f_67">Ткань</label></div>

</div>

$("input[type=checkbox]").on("click", function(){
  var $this = $(this);
  var my_id = $this.attr("id");
  var my_label = $("label[for="+ my_id + "]" );
  var dropDownToggleValue = $this.parents(".bl-check").find(".dropdown-toggle .selected");
dropDownToggleValue.text("(" + my_label.text() + ")");
  });
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2017, 14:15
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
	</style>
</head>
<body>
<div class="bl-check">
<div class="dropdown-toggle">Материал <span class="selected"></span></div>
<div><input id="f_6710f_67" name="f_67[0]" value="0" type="checkbox">
<label for="f_6710f_67">Велюр</label></div>
<div><input id="f_6711f_67" name="f_67[1]" value="1" type="checkbox">
<label for="f_6711f_67">Кожа</label></div>
<div><input id="f_6712f_67" name="f_67[2]" value="2" type="checkbox">
<label for="f_6712f_67">Ткань</label></div>
</div>

<div class="bl-check">
<div class="dropdown-toggle">Цвет <span class="selected"></span></div>
<div><input id="f_6410f_64" name="f_64[0]" value="0" type="checkbox">
<label class="field_label" for="f_6410f_64">Белый</label></div>
<div><input id="f_6411f_64" name="f_64[1]" value="1" type="checkbox">
<label class="field_label" for="f_6411f_64">Красный</label></div>
<div><input id="f_6412f_64" name="f_64[2]" value="2" type="checkbox">
<label class="field_label" for="f_6412f_64">Черный</label></div>
</div>

	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</body>
<script>

	$(".bl-check").on("click", function(){
		var text = '( ';
		$(this).find("input[type=checkbox]:checked").each(function(){
			text += $(this).siblings('label').text()+' ';
		});
		text += ')';
		if (text =='( )') text ='';
		$(this).find('.selected').text(text);
	});

	</script>
	</html>

Последний раз редактировалось j0hnik, 21.09.2017 в 15:29.
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2017, 14:51
Аспирант
Отправить личное сообщение для dasha862 Посмотреть профиль Найти все сообщения от dasha862
 
Регистрация: 31.03.2016
Сообщений: 36

Такой вариант у меня не работает, наверно, из-за количества блоков, он не один:
<div class="bl-check">
<div class="dropdown-toggle">Материал <span class="selected"></span></div>
<div><input id="f_6710f_67" name="f_67[0]" value="0" type="checkbox">
<label for="f_6710f_67">Велюр</label></div>
<div><input id="f_6711f_67" name="f_67[1]" value="1" type="checkbox">
<label for="f_6711f_67">Кожа</label></div>
<div><input id="f_6712f_67" name="f_67[2]" value="2" type="checkbox">
<label for="f_6712f_67">Ткань</label></div>
</div>

<div class="bl-check">
<div class="dropdown-toggle">Цвет <span class="selected"></span></div>
<div><input id="f_6410f_64" name="f_64[0]" value="0" type="checkbox">
<label class="field_label" for="f_6410f_64">Белый</label></div>
<div><input id="f_6411f_64" name="f_64[1]" value="1" type="checkbox">
<label class="field_label" for="f_6411f_64">Красный</label></div>
<div><input id="f_6412f_64" name="f_64[2]" value="2" type="checkbox">
<label class="field_label" for="f_6412f_64">Черный</label></div>
</div>

Последний раз редактировалось dasha862, 21.09.2017 в 15:08.
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2017, 15:14
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Поправил пост
Ответить с цитированием
  #5 (permalink)  
Старый 21.09.2017, 16:13
Аспирант
Отправить личное сообщение для dasha862 Посмотреть профиль Найти все сообщения от dasha862
 
Регистрация: 31.03.2016
Сообщений: 36

j0hnik, большое СПАСИБО!
Ответить с цитированием
  #6 (permalink)  
Старый 21.09.2017, 17:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068


ещё вариант ...
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
  </style>
</head>
<body>
<div class="bl-check">
<div class="dropdown-toggle">Материал <span class="selected"></span></div>
<div><input id="f_6710f_67" name="f_67[0]" value="0" type="checkbox">
<label for="f_6710f_67">Велюр</label></div>
<div><input id="f_6711f_67" name="f_67[1]" value="1" type="checkbox">
<label for="f_6711f_67">Кожа</label></div>
<div><input id="f_6712f_67" name="f_67[2]" value="2" type="checkbox">
<label for="f_6712f_67">Ткань</label></div>
</div>

<div class="bl-check">
<div class="dropdown-toggle">Цвет <span class="selected"></span></div>
<div><input id="f_6410f_64" name="f_64[0]" value="0" type="checkbox">
<label class="field_label" for="f_6410f_64">Белый</label></div>
<div><input id="f_6411f_64" name="f_64[1]" value="1" type="checkbox">
<label class="field_label" for="f_6411f_64">Красный</label></div>
<div><input id="f_6412f_64" name="f_64[2]" value="2" type="checkbox">
<label class="field_label" for="f_6412f_64">Черный</label></div>
</div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</body>
<script>

  $(".bl-check").on("click", function(){
    var text = $.map($("input[type=checkbox]:checked + label",this),function(el){
      return el.textContent
    });
    if (text.length) text = "( "+text.join(" ")+" )";
    $(".selected",this).text(text);
  });

  </script>
  </html>
Ответить с цитированием
  #7 (permalink)  
Старый 21.09.2017, 18:09
Аспирант
Отправить личное сообщение для dasha862 Посмотреть профиль Найти все сообщения от dasha862
 
Регистрация: 31.03.2016
Сообщений: 36

Когда пользователь отмечает checkbox и нажимает найти, он перенаправляется на страницу поиска, на ней checkbox(ы) выбраны, но значения в <span class="selected"></span> не передаются, они появляются после того, как я кликаю по блоку bl-check.
Это не принципиально, но очень хочется, что бы выглядело красиво.
Ответить с цитированием
  #8 (permalink)  
Старый 21.09.2017, 19:39
Аспирант
Отправить личное сообщение для dasha862 Посмотреть профиль Найти все сообщения от dasha862
 
Регистрация: 31.03.2016
Сообщений: 36

Ещё раз Спасибо.
Ответить с цитированием
  #9 (permalink)  
Старый 21.09.2017, 23:47
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от dasha862 Посмотреть сообщение
Когда пользователь отмечает checkbox и нажимает найти, он перенаправляется на страницу поиска, на ней checkbox(ы) выбраны, но значения в <span class="selected"></span> не передаются, они появляются после того, как я кликаю по блоку bl-check.
Это не принципиально, но очень хочется, что бы выглядело красиво.
вставьте после функции
$(".bl-check").click();
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача значений value Saillens Элементы интерфейса 7 26.09.2014 20:05
Передача значений из ячеек таблицы в поля ayubu87 AJAX и COMET 1 26.05.2014 08:21
Передача значений атрибута в массив Does Общие вопросы Javascript 4 19.08.2013 18:30
Передача значений riva Общие вопросы Javascript 6 16.07.2013 12:51
Передача массива значений флажков LRCenter Общие вопросы Javascript 2 05.10.2010 19:49