Выбор следующего элемента родителя

Это моя кодировка,

<tr class="ar">
   <td>
        <input type="checkbox" class="cbx">
   </td>    
   <td>
        <span class="spc">book</span>
   </td> 
</tr>
<tr class="ar"></tr>

Что я хочу сделать, если установлен флажок или диапазон (сначала внутри tr), Я хочу переключить класс на второй tr, Также, если флажок уже установлен, мне нужно снять флажок при нажатии любой из них.

5 ответов

$('td input[type=checkbox], td span').click(function(){
    $(this).closest('tr')
        .find('input[type=checkbox]')
        .prop("checked", false)
        .end()
        .next()
        .toggleClass('yourclass');
});

Попробуй это

$(".cbx2").click(function(){
  $(this).closest("tr.ar").next().toggleClass("toggled_class");
});

$(this).closest("tr.ar") даст вам ближайший родитель tr элемент этого объекта с ar класс и .next получит следующий элемент такого рода, который является вашим вторым tr,

Попробуйте использовать это:http://jsfiddle.net/kPJJf/

$('td input[type=checkbox], td span').click(function () {
       $(this).parents('tr').next('tr').find('span').toggleClass('spc');
   if($(this).parents('tr').next('tr').find('input[type="checkbox"]').is(':checked')==false){
      $(this).parents('tr').next('tr').find('input[type="checkbox"]').prop('checked', true);
   }else{
      $(this).parents('tr').next('tr').find('input[type="checkbox"]').removeAttr('checked');
   }
});

Попробуйте это.... если вы хотите снять флажок...

$('#your_checkbox_id').live('click' , function() {
    if($('#your_checkbox_id').is(':checked')) {
        $('#your_checkbox_id').removeAttr('checked');
        $(this).next().toggleClass('class_name');
    }
});
$('.cbx, .spc').click(function(e){
    $('.cbx').prop('checked', false); // uncheck everything

    $(this).toggleProp(checked, $(this).prop('checked')) // check/uncheck current
           .closest('.ar').toggleClass('yourClass'); // toggle class on next tr
});
Другие вопросы по тегам