Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Непонятки с jquery-1.9.1 (attr, removeAttr) (https://javascript.ru/forum/jquery/35510-neponyatki-s-jquery-1-9-1-attr-removeattr.html)

imya 13.02.2013 11:34

Непонятки с jquery-1.9.1 (attr, removeAttr)
 
В общем решил сделать нестандартные чекбоксы. Скачал jquery-1.9.1, подцепил свой старый элементарный код:
$("#bat").click(function(){
    if (!$("#che").prop("checked")) {
        $('#che').attr('checked', 'checked');
    }
    else {
        $('#che').removeAttr('checked'); 
    }
});

Т.е. кликнув по элементу и id=bat чекбокс с id=che активируется либо деактивируется. Но он как-то неправильно работает! :blink:

Пример работы >>

Самое интересное что на версии jquery 1.8.3 и ниже всё работает нормально.
Кто-то сталкивался с этим? Или я что-то делаю не так?

cmd 13.02.2013 11:50

$('#che').attr('checked', false);


P.S.
Цитата:

Самое интересное что на версии jquery 1.8.3 и ниже всё работает нормально.
Новость для меня.

danik.js 13.02.2013 11:53

Вот так работает:
$("#bat").click(function(){
    $("#che").prop('checked', !$("#che").prop('checked'));
});

Deff 13.02.2013 12:15

Цитата:

Сообщение от cmd
Новость для меня.

cейчас пошла серия траблов из-за исключения в 1.9 live и bind
Чот тоже в непонятках:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title> - jsFiddle demo</title>
<script type="text/javascript" src="http://yandex.st/jquery/1.8.2/jquery.min.js"></script>

<style type="text/css">
    #bat {
	width:100px;
	height:30px;
	background-color:#0FF;
	text-align:center;
	padding-top:8px;
	margin:20px;
    cursor:pointer;
}
#che {
	margin:20px;
}
</style>

<script type="text/javascript"> 
$(window).load(function(){
$("#bat").click(function(){

    if($("#che:checked").length){
                
        $('#che').removeAttr('checked'); return;

    }
       $('#che').attr('checked',true);



});
});

</script>
</head>
<body>
<div id="bat">батон</div>
<input id="che" type="checkbox" checked />
</body>
</html>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title> - jsFiddle demo</title>
<script type="text/javascript" src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script>

<style type="text/css">
    #bat {
	width:100px;
	height:30px;
	background-color:#0FF;
	text-align:center;
	padding-top:8px;
	margin:20px;
    cursor:pointer;
}
#che {
	margin:20px;
}
</style>

<script type="text/javascript"> 
$(window).load(function(){
$("#bat").click(function(){

    if($("#che:checked").length){
                
        $('#che').removeAttr('checked'); return;

    }
       $('#che').prop('checked',true);



});
});

</script>
</head>
<body>
<div id="bat">батон</div>
<input id="che" type="checkbox" checked />
</body>
</html>

danik.js 13.02.2013 12:22

не рекомендуется использвать attr вместо prop: https://developer.mozilla.org/en-US/...t.setAttribute

Deff 13.02.2013 12:49

danik.js,
Cпс, сам пользуюсь стареньким 1.4,(нет доступа к движку)
Вот нашел http://translate.googleusercontent.c...iMntiWD8nH9_TA

imya 13.02.2013 13:50

Спасибо народ! Направили в нужное русло. :thanks:


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