Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   При клике на строку таблицы клик по вложенному чекбоксу (https://javascript.ru/forum/jquery/7030-pri-klike-na-stroku-tablicy-klik-po-vlozhennomu-chekboksu.html)

Enlightened 11.01.2010 21:19

При клике на строку таблицы клик по вложенному чекбоксу
 
Здравствуйте,

Проблема такая:
При нажатии на строку таблицы генерируется клик по чекбоксу в этой строке. При этом, если кликнуть на сам чекбокс - алерт показывает true, а если на строку таблицы - false. Код:

<table class="b-tech-properties">
   <tr id="option-12">
        <td><input type="checkbox"/></td>
	<th scope="row">Аккумулятор Bosch</th>
	<td class="option-price">350,00$</td>
   </tr>
</table>


$(function() {
    $('.b-options-table input[type="checkbox"]').bind('click', function(event) {
      event.stopPropagation();
      alert(this.checked);
    });
	
    $('.b-options-table tr').click(function(event) {
        if (event.target.type !== 'checkbox') {
            $(':checkbox', this).click(); 
        }
    }); 
});


Как сделать так, чтобы значение чекбокса было одинаковым, вне зависисомти от того, куда кликал пользователь?

Я использую jQuery 1.3.2

micscr 12.01.2010 09:17

Главное что флажок меняется, а если только верное сообщение интересует, то вот так можно:
$('.b-options-table input[type="checkbox"]').click(function(event, data) {
      event.stopPropagation();
	  if (!data) alert(this.checked); // аппаратно
	  else alert(!this.checked);       // программно (trigger)
    });
 
    $('.b-options-table tr').click(function(event) {
        if (event.target.type !== 'checkbox') {
            $(':checkbox', this).trigger('click', 111); 
        }
    });

Enlightened 12.01.2010 09:37

Спасибо, попробую вечером. Такое просто решение мне в голову не пришло:)

Нужен и визуальный эффект (то бишь появление/исчезание флажка), и значение - мне на основе этого значения еще дальнейшие действия совершать.


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