Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.08.2013, 19:07
Аватар для BaVa
Аспирант
Отправить личное сообщение для BaVa Посмотреть профиль Найти все сообщения от BaVa
 
Регистрация: 16.11.2011
Сообщений: 60

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 через раз показывает

Что не так?
Ответить с цитированием
  #2 (permalink)  
Старый 15.08.2013, 19:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Потому что нефиг дергать атрибуты. Они не предназначены для работы из JS. Их предназначение - задание свойств в HTML-разметке.
Используй prop() вместо attr()
Ответить с цитированием
  #3 (permalink)  
Старый 15.08.2013, 19:39
Аватар для BaVa
Аспирант
Отправить личное сообщение для BaVa Посмотреть профиль Найти все сообщения от BaVa
 
Регистрация: 16.11.2011
Сообщений: 60

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 свойство но не меняет ничего в разметке?
Ответить с цитированием
  #4 (permalink)  
Старый 15.08.2013, 20:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от BaVa
prop() как я, немного, понял устанавливает элементу dom свойство но не меняет ничего в разметке?
Тебе сколько раз повторить? Атрибуты нужны только для задания начального значения посредством HTML-разметки. Для динамического изменения свойств, нужно как ни странно динамически изменять свойства

Начальное значение атрибута также отражается в свойстве .defaultChecked
Ответить с цитированием
  #5 (permalink)  
Старый 15.08.2013, 20:40
Аватар для BaVa
Аспирант
Отправить личное сообщение для BaVa Посмотреть профиль Найти все сообщения от BaVa
 
Регистрация: 16.11.2011
Сообщений: 60

Понял, спасибо. я думал что свойства и атрибуты - это одно и тоже

Последний раз редактировалось BaVa, 15.08.2013 в 20:43.
Ответить с цитированием
  #6 (permalink)  
Старый 16.08.2013, 09:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от BaVa
я думал что свойства и атрибуты - это одно и тоже
Отнють.
http://javascript.ru/tutorial/dom/attributes
Ответить с цитированием
  #7 (permalink)  
Старый 18.08.2013, 13:19
Аватар для BaVa
Аспирант
Отправить личное сообщение для BaVa Посмотреть профиль Найти все сообщения от BaVa
 
Регистрация: 16.11.2011
Сообщений: 60

ksa,
поглядю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск