2016-10-17 3 views
0

Как включить кнопку, когда пользователь сам проверит флажок? В настоящее время кнопка будет включена, когда пользователь нажимает на строку таблицы (щелчная строка).Установите флажок, и строка таблицы не синхронизирована

var btn = $("#btn");  
btn.attr("disabled","disabled"); 

$("#table tbody").on("click",".clickable-row", function (e) { 
    if (e.target.type !== 'checkbox') { 
     $(':checkbox', this).trigger('click'); 

     if($(':checkbox', this).is(":checked") == true){ 
      btn.removeAttr('disabled'); 
      $('form').append('<input type="hidden" name="chk" value="'+$(':checkbox', this).val()+'" />');    

     } else { 
      btn.attr("disabled", !$(':checkbox', this).is(":checked")); 
     } 
    } 
}); 
+0

Снимите '', если условие –

+0

@Nicolas Filotto, когда я удаляю эту часть, я не могу проверить флажок (e.target.type == 'Флажок'!) вообще. Только можно проверить доступную строку. Я хочу сделать обе работы – sopi

+0

вы можете поделиться также с html? –

ответ

0

Попробуйте это:

var btn = $("#btn");  
btn.attr("disabled","disabled"); 

$("#table tbody").on("click", function (e) { 
    var thisCheckbox = $(this).find('input:checkbox'); 
    var thisTd = $(this).find('td'); 

    if(thisCheckbox.is(":checked") || thisTd.is(e.target)){ 
     if($(this).find('td').is(e.target)) 
     { 
      thisCheckbox.prop('checked', true); 
     } 
     btn.removeAttr('disabled'); 
     $('form').append('<input type="hidden" name="chk" value="'+$(':checkbox', this).val()+'" />'); 
    }else{ 
     if(thisTd.is(e.target)) 
     { 
      thisCheckbox.prop('checked', false); 
     } 
     btn.attr("disabled", !$(':checkbox', this).is(":checked")); 
    } 

}); 
+0

Это работает только тогда, когда я устанавливаю флажок (включите кнопку). когда я нажимаю на строку таблицы, ничего не происходит (кнопка остается отключенной) – sopi

+0

это не работает. когда я нажму на флажок, он проверит все флажки, доступные в столбце – sopi

Смежные вопросы