checkbox.checked
Привет всем!
Не пойму, делаю примерно такое:
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("body div:first :checkbox").click(function() {
if(this.checked == true) $("body div:last :checkbox").attr("checked", true);
else $("body div:last :checkbox").attr("checked", false);
});
});
</script>
</head>
<body>
<div style="border: 2px solid red;">
<input type="checkbox">
</div>
<div style="border: 2px solid red; margin-top: 5px;">
<input type="checkbox"><br>
<input type="checkbox"><br>
<input type="checkbox">
</div>
</body>
Смысл в том, чтобы первый чекбокс сбрасывал или устанавливал все чекбоксы, но после первого установки/сброса визуально не показывается что они устанавливаются, хотя в хроме в режиме разработчика (F12) показывается что атрибут checked устанавливается и удаляется. firefox тоже так делает. IE через раз показывает Что не так? |
Потому что нефиг дергать атрибуты. Они не предназначены для работы из JS. Их предназначение - задание свойств в HTML-разметке.
Используй prop() вместо attr() |
danik.js,
все работает теперь, спасибо. но не пойму что изменилось. Теперь вообще в атрибуте не устанавливается/удаляется checked
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("body div:first :checkbox").click(function() {
if(this.checked == true) $("body div:last :checkbox").prop("checked", true);
else $("body div:last :checkbox").prop("checked", false);
});
});
</script>
</head>
<body>
<div style="border: 2px solid red;">
<input type="checkbox">
</div>
<div style="border: 2px solid red; margin-top: 5px;">
<input type="checkbox"><br>
<input type="checkbox"><br>
<input type="checkbox">
</div>
</body>
prop() как я, немного, понял устанавливает элементу dom свойство но не меняет ничего в разметке? |
Цитата:
Начальное значение атрибута также отражается в свойстве .defaultChecked |
Понял, спасибо. я думал что свойства и атрибуты - это одно и тоже
|
Цитата:
http://javascript.ru/tutorial/dom/attributes |
ksa,
поглядю :) |
| Часовой пояс GMT +3, время: 14:44. |