Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2013, 16:39
Новичок на форуме
Отправить личное сообщение для Ridzhi Посмотреть профиль Найти все сообщения от Ridzhi
 
Регистрация: 27.06.2013
Сообщений: 3

Спор с руководителем.Проверка на отмеченный чекбокс
Друзья, разрешите, пожалуйста, спор средненького разработчика со своим руководителем.
Задача: Сделать что то, если конкретный чекбокс("#cb") выбран или нет.
Проголосуйте пожалуйста за вариант, который считаете лучше(по любой шкале).
1.
if($("#сb:checked").length) {
// делаем что то
}

2.
if($("#сb").attr('checked')) {
// делаем что то
}

Последний раз редактировалось Ridzhi, 27.06.2013 в 16:42.
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2013, 16:47
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

ничего выбирать не буду
на вашем месте просто бы протестировал оба куска кода на всех возможных браузерах
было бы быстрее и надежнее
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2013, 16:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

if($("#сb")[0].checked){
  alert("Выбран");
}
Ответить с цитированием
  #4 (permalink)  
Старый 27.06.2013, 19:26
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

оба варианта не нравятся
$("#сb").is(":checked")

вот это более понятно
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2013, 21:45
Новичок на форуме
Отправить личное сообщение для I.V.A.N Посмотреть профиль Найти все сообщения от I.V.A.N
 
Регистрация: 27.06.2013
Сообщений: 7

мне первый вариант понравился...
хотя второй понятнее...

Последний раз редактировалось I.V.A.N, 27.06.2013 в 21:48.
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2013, 22:02
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

а помоему...главное чтоб мышей ловила
Ответить с цитированием
  #7 (permalink)  
Старый 27.06.2013, 22:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

свойство checked булевого типа а атрибут checked строка квери рекомендует .prop('checked')
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>

<body>
  <input id="сb" name="" type="checkbox" checked="checked">
  <script>
  alert([$("#сb:checked").length,$("#сb").attr('checked'),$("#сb")[0].checked,$("#сb").prop('checked'),$("#сb").is(":checked")]);
  </script>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 28.06.2013, 04:55
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Самый наилучший вариант:
document.getElementById('cb').checked

Ответить с цитированием
  #9 (permalink)  
Старый 28.06.2013, 05:32
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Первый вариант не интуитивный.
Либо второй, но с поправкой рони, то есть не attr() а prop() , либо вариант melky - этот так совсем выглядит логичным, но лично меня смущает двойной вызов разборщика селектора, хотя конечно глупо считаться с такой мелочью ))
Сообщение от mta88
на вашем месте просто бы протестировал оба куска кода на всех возможных браузерах
Это бессмысленно. jQuery уже обеспечивает кроссбраузерную работу.
Ответить с цитированием
  #10 (permalink)  
Старый 28.06.2013, 06:49
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Сообщение от danik.js Посмотреть сообщение
Это бессмысленно. jQuery уже обеспечивает кроссбраузерную работу.
но ведь у топикстатера же появились сомнения я хотел их развеять
моя настоящая ошибка в том, что я забыл про различия 'attr' и 'prop'
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чекбокс если "чекед" должна сработать функция Lavrov jQuery 4 26.06.2013 16:04
Свой чекбокс на скрипте Олег123 Элементы интерфейса 5 06.11.2012 17:19
Кастомный чекбокс и передача значения checked spo jQuery 7 25.03.2012 12:37
Чекбокс (переключатель группы чекбоксов) DVNSA Общие вопросы Javascript 6 15.08.2011 14:38
Текстовый чекбокс seedpeer Элементы интерфейса 1 29.11.2008 21:04