У меня есть эта функция:
$("#tabela tr").toggle(function(){
$(this).addClass("zaznaczone");
$(this).find(" :checkbox").attr("checked", "1");
},function(){
$(this).removeClass("zaznaczone");
$(this).find(" :checkbox").attr("checked", "");
});
и это нормально, когда я нажимаю "tr", но когда я нажимаю на флажок, эта строка отвечает, а флажок - нет. Это означает, что флажок после этой операции не проверен.
Я пишу внизу этот код:
$("#tabela tr :checkbox").click(function(){
if($(this).attr('checked')==''){
alert("000000");
}
else{
alert("111111111");
}
});
и что случилось. Когда я нажимаю на пустую кнопку-флажок, я вижу предупреждение 1111111, и перед нажатием кнопки ОК на всплывающем окне появляется флажок. После нажатия ОК флажок не проверяется, и вы можете получить класс из кода.
Когда я пытаюсь снять флажок, я вижу то же самое предупреждение 00000, и строка "tr" сбрасывается с кодом up
Ваш код идеально подходит для строки и флажка, но когда я пытаюсь добавить эти строки:
$(this).addClass("zaznaczone");
$(this).removeClass("zaznaczone");
тогда работай так:
Когда я нажимаю на строку работы, что это должно, но когда я нажимаю на флажок, то проверьте, что addClass не работает
Весь код:
$('#tabela tr').bind('click',function(e){
var cb = $(this).find(':checkbox');
if(e.target !== cb[0]){
if(cb.is(':checked')){
cb.removeAttr('checked');
$(this).removeClass("zaznaczone");}
else{
cb.attr('checked', 'checked');
$(this).addClass("zaznaczone");}
}
});