Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как пометить чекбокс при нажатии на кнопку? (https://javascript.ru/forum/dom-window/54838-kak-pometit-chekboks-pri-nazhatii-na-knopku.html)

vasyakrn 02.04.2015 20:29

Как пометить чекбокс при нажатии на кнопку?
 
Как пометить чекбокс при нажатии на кнопку? Нужно сделать при клике на кнопку чекбокс напротив помечался, а c всех остальных с таким же классом, снимать пометки. Вот код:

<div>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<a class="buy-param" href="#">Купить</a>
</div>

<div>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<a class="buy-param" href="#">Купить</a>
</div>

<div>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<a class="buy-param" href="#">Купить</a>
</div>


И еще помогите написать код чтоб при клике на кнопку снимались пометки у всех чекбоксов на странице с одинаковым классом

danik.js 03.04.2015 01:30

<style>

.buy-param{

display: inline-block;
background: linear-gradient(rgb(255, 255, 255), rgb(206, 206, 206)) rgb(236, 236, 236);
padding: 2px 27px;
border-radius: 3px;
font: 12px Arial;
border-width: 1px;
border-style: solid;
border-color: #CCC #CCC #AAA;

}

</style>

<div>
<label>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<span class="buy-param">Купить</span>
</label>
</div>
 
<div>
<label>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<span class="buy-param">Купить</span>
</label>
</div>
 
<div>
<label>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<span class="buy-param">Купить</span>
</label>
</div>

vasyakrn 03.04.2015 01:56

Немного не так как мне нужно: а именно нужно сделать когда нажимаеш на одну из кнопок купить со всех других снимаются чекбокси

рони 03.04.2015 07:38

vasyakrn,
вам показали решение первой части
Цитата:

Сообщение от vasyakrn
Нужно сделать при клике на кнопку чекбокс напротив помечался,


vasyakrn 03.04.2015 11:47

Цитата:

Сообщение от рони (Сообщение 364749)
vasyakrn,
вам показали решение первой части

И точно. Но тогда каким кодом сделать чтоб у всех чекбоксом на странице с одинаковим классом убирались галлочки

рони 03.04.2015 12:10

vasyakrn,
чем type=radio не устраивает?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style>

.buy-param{

display: inline-block;
background: linear-gradient(rgb(255, 255, 255), rgb(206, 206, 206)) rgb(236, 236, 236);
padding: 2px 27px;
border-radius: 3px;
font: 12px Arial;
border-width: 1px;
border-style: solid;
border-color: #CCC #CCC #AAA;

}

</style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var s = $(":checkbox");
       s.change(function() {
       s.not(this).filter('.'+this.className).prop({'checked' : false});
      });
});
  </script>
</head>

<body>

<div>
<label>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<span class="buy-param">Купить</span>
</label>
</div>

<div>
<label>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<span class="buy-param">Купить</span>
</label>
</div>

<div>
<label>
<input class="buy-chexbox" onchange="calculateTotalPacketCost()" type="checkbox" name="user_packet_groups[]" value="{$key}"  />
<span class="buy-param">Купить</span>
</label>
</div>

</body>

</html>


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