Нажмите td, выберите переключатель в jQuery - PullRequest
7 голосов
/ 07 января 2011

У меня небольшая проблема с некоторыми базовыми jQuery, я хотел бы иметь возможность щелкнуть ячейку таблицы, а затем автоматически выбрать переключатель внутри.

HTML:

  <table>
   <tr>
    <td>
     1<br>
     <input type="radio" name="choice" value="1">
    </td>
    <td>
     2<br>
     <input type="radio" name="choice" value="2">
    </td>
    <td>
     3<br>
     <input type="radio" name="choice" value="3">
    </td>
   </tr>
  </table>

jQuery:

 $("td").click(function () {

  $(this).closest('input:radio').attr('checked',true);

 });

Буду признателен за любую помощь, спасибо!

Ответы [ 4 ]

13 голосов
/ 07 января 2011

Используйте этот селектор:

$('input:radio', this).attr('checked', true);

Или используя find метод:

$(this).find('input:radio').attr('checked', true);

Вот как должен выглядеть ваш код:

$("td").click(function () {
   $(this).find('input:radio').attr('checked', true);
});
2 голосов
/ 07 января 2011

Попробуйте найти вместо ближайшего.

$(this).find('input:radio').attr('checked',true);
2 голосов
/ 07 января 2011

Попробуйте

$(this).find('input:radio').attr('checked','checked');
0 голосов
/ 27 февраля 2019

Это прекрасно работает

 $(function () {
        $('td').click(function () {

        var cell = $(this),
            state = cell.data('state') || 'first';

        switch (state) {
            case 'first':
                cell.data('state', 'second');
                cell.find('input:radio').attr('checked', true);
                cell.find('input:radio').data('checked', true);
                cell.find('input:radio').prop('checked', true);
                break;
            case 'second':
                cell.data('state', 'first');
                cell.find('input:radio').attr('checked', false);
                cell.find('input:radio').data('checked', false);
                cell.find('input:radio').prop('checked', false);
                break;
            default:

                break;
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...