Добавление и удаление значения из 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. Помогите, пожалуйста, как можно реализовать такую задачу? |
Hadouken,
идите циклом по всем input:checked и собирайте данные |
рони,
Это сначала мне нужно пройтись циклом по всему списку, и делать проверку на :checked или как? |
Цитата:
|
laimas,
Проблема, что в значении value, указано другое значение, которое используется для другой функции. И чтобы просто передать эти значения, нужна кнопка submit. |
Hadouken,
сделайте минимальный html |
<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>
|
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>
|
рони,
Блин, огромное спасибо) оказывается все так просто было |
| Часовой пояс GMT +3, время: 08:47. |