Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обновление div при снятии чекбокса (https://javascript.ru/forum/misc/73646-obnovlenie-div-pri-snyatii-chekboksa.html)

Viking777 03.05.2018 14:07

Обновление div при снятии чекбокса
 
Вложений: 1
Почему не обновляется информация в total, когда я ставлю чекбокс на самовывоз? См. аттач.

Функция очистки формы реализована через:

document.getElementById("shipping_postcode").value = "";


Выбор только одного чекбокса:

inputs=document.getElementsByTagName("input");
		for(var i=0;i<inputs.length;i++)
		{
		if(inputs[i].type=="checkbox")
			{
			inputs[i].onchange=function()
				{
				inputs=document.getElementsByTagName("input");
				for(var i=0;i<inputs.length;i++)
					{
					if(inputs[i].type=="checkbox")
						{
						inputs[i].checked=false;
						}
						this.checked=true;
					}
				}
			}
		}

рони 03.05.2018 14:36

Выбор только одного чекбокса
 
Viking777,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>


</head>

<body>

<input name="" type="checkbox">
<input name="" type="checkbox">
<input name="" type="checkbox">

 <script>
var inputs=document.querySelectorAll('[type="checkbox"]');
[].forEach.call(inputs, function(node) {
   node.addEventListener("click", function() {
   [].forEach.call(inputs, function(el) {
      el.checked = el == node && el.checked
   })
})

});
  </script>
</body>
</html>

laimas 03.05.2018 14:42

Цитата:

Сообщение от рони
Выбор только одного чекбокса

А не проще ли радио кнопки иметь? :)

j0hnik 03.05.2018 14:48

For Goolge. Yandex
<meta name="keywords" content="Заменить точку на галочку в радиобатоне">

рони 03.05.2018 15:35

Цитата:

Сообщение от laimas
А не проще ли радио кнопки иметь?

:lol:
Цитата:

Сообщение от рони
а радиокнопки никак?

https://javascript.ru/forum/css-html...tml#post426065
https://javascript.ru/forum/misc/666...tml#post439580

...народ любит погорячее :)

Viking777 03.05.2018 15:56

Спасибо за примеры оформления чекбоксов. Радио там почему-то глючат. Отображаются сразу две активные, но это не суть.

Основная задача в очистке формы адреса доставки, обновлялась инфа в total. Если руками стираешь данные, то она обновляется, если через value = "", то не обновляется. В чем разница-то?

рони 03.05.2018 16:03

Цитата:

Сообщение от Viking777
В чем разница-то?

в том что есть событие и видимо на это событие стоит обработчик.
после value = "" , события никакого нет и нужно запустить этот обработчик самостоятельно.

Dilettante_Pro 03.05.2018 16:40

Viking777,
Цитата:

Сообщение от Viking777
Радио там почему-то глючат. Отображаются сразу две активные,

У radio из одной группы должны быть одинаковые name. Тогда не будет сразу двух активных

Viking777 03.05.2018 16:41

Так можно это реализовать как-то программно? Повторюсь, что если поставить курсор в поле почтового индекса и просто стереть оттуда этот индекс, то total обновиться, а если прикрутить к чекбоксу команду value ="", то total не обновляется.

Мне нужно, чтобы total обновлялся при очистке формы индекса.

Viking777 03.05.2018 16:46

Может в команде очистки ошибка?
document.getElementById("free-pickup-radio").onclick = function clear()
{document.getElementById("shipping_postcode").value = "";}


поставил radio, спс

j0hnik 03.05.2018 17:03

shipping_postcode это инпут??
если нет то вместо value innerHTML

рони 03.05.2018 17:18

Viking777,
что такое total ??? какая функция формирует содержимое total ?

Viking777 03.05.2018 17:20

Цитата:

Сообщение от j0hnik (Сообщение 484585)
shipping_postcode это инпут??
если нет то вместо value innerHTML

Увы, input

Так выглядит целиком

<div class="shipping_address" style="display: block;">
			
<p class="form-row form-row-wide address-field form-group" id="shipping_address_1_field" data-priority=""><label for="shipping_address_1" class="hidden">Адрес</label><input type="text" class="input-text form-control" name="shipping_address_1" id="shipping_address_1" placeholder="Адрес" value=""></p>
			
				
<p class="form-row form-row-wide address-field form-group" id="shipping_address_2_field" data-priority=""><input type="text" class="input-text form-control" name="shipping_address_2" id="shipping_address_2" placeholder="" value=""></p>
			
				
<p class="form-row form-row-wide address-field form-group" id="shipping_city_field" data-priority=""><label for="shipping_city" class="hidden">Населённый пункт</label><input type="text" class="input-text form-control" name="shipping_city" id="shipping_city" placeholder="Населённый пункт" value=""></p>
			
				
<p class="form-row form-row-wide address-field form-group" id="shipping_state_field" data-priority=""><label for="shipping_state" class="hidden">Область/регион</label><input type="text" class="input-text form-control" value="" placeholder="Область/регион" name="shipping_state" id="shipping_state"></p>
			
				
<p class="form-row form-row-wide address-field form-group" id="shipping_postcode_field" data-priority=""><label for="shipping_postcode" class="hidden">Почтовый индекс</label><input type="text" class="input-text form-control" name="shipping_postcode" id="shipping_postcode" placeholder="Почтовый индекс" value=""></p>
			
			
</div>

Viking777 03.05.2018 17:39

Цитата:

Сообщение от рони (Сообщение 484586)
Viking777,
что такое total ??? какая функция формирует содержимое total ?

см.аттач gif

Viking777 03.05.2018 17:58

Вложений: 1
ещё раз прикрелю, это гифка
посмотрите пож
смотрите, я нажимаю самовывоз, где
document.getElementById("free-pickup-radio").onclick = function clear()
{document.getElementById("shipping_postcode").value = "";}

форма с индексом очищается, но справа в итого не обновляется инфа (не убирается доставка)
далее, если я просто стираю из поля данные вручную, то инфа справа обновляется

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

вот и все

help!


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