Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.08.2018, 19:32
Интересующийся
Отправить личное сообщение для Hadouken Посмотреть профиль Найти все сообщения от Hadouken
 
Регистрация: 24.12.2014
Сообщений: 14

Добавление и удаление значения из input
Доброго времени суток! в JS не силен, поэтому обращаюсь за помощью к знатокам. Имеется форма в модальном окне, вне этой формы есть чекбоксы в виде <input><label><span>Название</span></label>, таких инпутов много, и при клике на него я забираю значение из span и добавляю его в невидимый input в форме через запятую.
Выглядит следующим образом:
$('.hide-content label').click(function(){
$s = $(this).find('.name-sale').html();
$('.modal-dom #type-home').val($('.modal-dom #type-home').val() + $s + ",");
});
Но не получается стирать из этого инпута то значение, которое добавил, при повторном клике на тот же инпут, пробовал использовать toggle, но почему-то он просто убирает и добавляет либо к спану, либо к тому невидимому инпуту display:none. Помогите, пожалуйста, как можно реализовать такую задачу?
Ответить с цитированием
  #2 (permalink)  
Старый 05.08.2018, 20:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Hadouken,
идите циклом по всем input:checked и собирайте данные
Ответить с цитированием
  #3 (permalink)  
Старый 05.08.2018, 20:04
Интересующийся
Отправить личное сообщение для Hadouken Посмотреть профиль Найти все сообщения от Hadouken
 
Регистрация: 24.12.2014
Сообщений: 14

рони,
Это сначала мне нужно пройтись циклом по всему списку, и делать проверку на :checked или как?
Ответить с цитированием
  #4 (permalink)  
Старый 05.08.2018, 20:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Hadouken
забираю значение из span и добавляю его в невидимый input в форме через запятую.
А зачем, если сами флажки могут содержать значения, которые без проблемы можно обработать на сервере как массив данных, или же это не для сервера предназначено?
Ответить с цитированием
  #5 (permalink)  
Старый 05.08.2018, 20:18
Интересующийся
Отправить личное сообщение для Hadouken Посмотреть профиль Найти все сообщения от Hadouken
 
Регистрация: 24.12.2014
Сообщений: 14

laimas,
Проблема, что в значении value, указано другое значение, которое используется для другой функции. И чтобы просто передать эти значения, нужна кнопка submit.

Последний раз редактировалось Hadouken, 05.08.2018 в 20:21.
Ответить с цитированием
  #6 (permalink)  
Старый 05.08.2018, 20:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Hadouken,
сделайте минимальный html
Ответить с цитированием
  #7 (permalink)  
Старый 05.08.2018, 20:41
Интересующийся
Отправить личное сообщение для Hadouken Посмотреть профиль Найти все сообщения от Hadouken
 
Регистрация: 24.12.2014
Сообщений: 14

<div class="container hide-content">
<form>
	<div class="group">
		<input class="sc-service-checkbox price_pick" id="check11" type="checkbox" value="2222">
		<label for="check11">
			<span class="name-sale">Значение 1</span>
			<div class="price">
				<span class="sc-service-price">2222</span>
			</div>		
		</label>
	</div>	
	<div class="group">
		<input class="sc-service-checkbox price_pick" id="check12" type="checkbox" value="3333">
		<label for="check12">
			<span class="name-sale">Значение 2</span>
			<div class="price">
				<span class="sc-service-price">3333</span>
			</div>		
		</label>
	</div>
</form>
</div>
<div class="modal">
<form action="dom-iz-brusa-3" method="post">
<div class="modal--view__price">
<span class="modal--view__head">Выберите комплектацию</span> 
<ul>
	<li>
		<input class="price_pick" id="srub-" type="radio" name="komplektaciya[]">
		<label for="srub-">
		<span class="name-sale">Значение 1</span>
		<div class="price">
			<span class="sc-service-price">Цена</span>
		</div>
		</label>
	</li>
</ul>
<div class="row">
    <input name="formid" type="hidden" value="Проект ">
    <input type="hidden" id="type-home" value="">
	<input class="btn" type="submit" name="proj-submit" value="Позвоните мне">
</div>
</form>
</div>
<script>
$('.hide-content label').click(function(){
	$s = $(this).find('.name-sale').html();
	$('.modal-dom #type-home').val($('.modal-dom #type-home').val() + $s + ",");
});
</script>
Ответить с цитированием
  #8 (permalink)  
Старый 05.08.2018, 21:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Hadouken,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

</head>

<body>
<div class="container hide-content">
<form>
	<div class="group">
		<input class="sc-service-checkbox price_pick" id="check11" type="checkbox" value="2222">
		<label for="check11">
			<span class="name-sale">Значение 1</span>
			<div class="price">
				<span class="sc-service-price">2222</span>
			</div>
		</label>
	</div>
	<div class="group">
		<input class="sc-service-checkbox price_pick" id="check12" type="checkbox" value="3333">
		<label for="check12">
			<span class="name-sale">Значение 2</span>
			<div class="price">
				<span class="sc-service-price">3333</span>
			</div>
		</label>
	</div>
</form>
</div>
<div class="modal">
<form action="dom-iz-brusa-3" method="post">
<div class="modal--view__price">
<span class="modal--view__head">Выберите комплектацию</span>
<ul>
	<li>
		<input class="price_pick" id="srub-" type="radio" name="komplektaciya[]">
		<label for="srub-">
		<span class="name-sale">Значение 1</span>
		<div class="price">
			<span class="sc-service-price">Цена</span>
		</div>
		</label>
	</li>
</ul>
<div class="row">
    <input name="formid" type="hidden" value="Проект ">
    <input id="type-home" value="тут будет значение checkbox">
	<input class="btn" type="submit" name="proj-submit" value="Позвоните мне">
</div>
</div>
</form>
</div>
<script>
$('.hide-content input').change(function() {
    var s = $.map($('.hide-content input:checked + label .name-sale'), function(el) {
        return el.textContent
    });
    $('#type-home').val(s);
});
</script>

</body>

</html>
Ответить с цитированием
  #9 (permalink)  
Старый 05.08.2018, 21:11
Интересующийся
Отправить личное сообщение для Hadouken Посмотреть профиль Найти все сообщения от Hadouken
 
Регистрация: 24.12.2014
Сообщений: 14

рони,
Блин, огромное спасибо) оказывается все так просто было
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление и удаление input skitskis Общие вопросы Javascript 45 23.01.2018 19:55
Добавление значения в input по нажатию на кнопку AndrewPHPNOW Элементы интерфейса 1 24.10.2016 08:24
Динамическое копирование значения из input в input с одинаковыми атрибутами name ami_moor jQuery 2 10.08.2016 17:02
Множественные значения в input - ЗА ВОЗНАГРАЖДЕНИЕ! Pb160 Events/DOM/Window 0 03.08.2015 12:29
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27