Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2011, 16:51
Кандидат Javascript-наук
Отправить личное сообщение для Beriagts Посмотреть профиль Найти все сообщения от Beriagts
 
Регистрация: 31.07.2011
Сообщений: 118

background :checked
Возникла проблема, как мне нужно проверить если чек бокс активен то меняем фон родителя, написал что такое;
if($('.stlchek  input:checked'))
        {
            $('.stlchek').css('background-position','0 0');
        }
        else
        {
            $('.stlchek').css('background-position','0 -122px');
        }
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2011, 17:04
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

if($('.stlchek  input:checked')*!*.length*/!*)
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2011, 17:12
Кандидат Javascript-наук
Отправить личное сообщение для Beriagts Посмотреть профиль Найти все сообщения от Beriagts
 
Регистрация: 31.07.2011
Сообщений: 118

Сообщение от walik Посмотреть сообщение
if($('.stlchek  input:checked')*!*.length*/!*)
извините, а можно для мало имущих пару слово добавить?
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2011, 17:15
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Проверяет, что коллекция не пустая. Для пустой выборки приведение к булеву типу все равно даст true.
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2011, 17:25
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от ваый
Для пустой выборки приведение к булеву типу все равно даст true.
то есть, если не будет ни одного элемента, то все равно true ?
ошибаешься:
<input type="checkbox" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$('input:checkbox').click(function() {
   if ($('input:checked').length)
      $('body').css({backgroundColor: 'red'});
   else
      $('body').css({backgroundColor: 'white'});
});
</script>
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2011, 17:43
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от walik
то есть, если не будет ни одного элемента, то все равно true ?
ошибаешься:
Нет, не ошибаюсь:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
var $collection = $('#this-element-does-not-exist-on-the-page');
if ($collection) {
    alert('А может быть, все же где-то он есть?');
}

if ($collection.size()) { // $collection.length
    alert('Нету..');
}
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2011, 17:49
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от ваый
if ($collection) {
Что нам показывает этот if ? $collection - это обычный jquery'евский объект, естественно что будет true

Сообщение от ваый
if ($collection.size())
правельно, нет ни одного элемента, условие не сработало (false)
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #8 (permalink)  
Старый 03.08.2011, 17:51
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Ну так в об этом и говорил
Ответить с цитированием
  #9 (permalink)  
Старый 03.08.2011, 17:56
Кандидат Javascript-наук
Отправить личное сообщение для Beriagts Посмотреть профиль Найти все сообщения от Beriagts
 
Регистрация: 31.07.2011
Сообщений: 118

а где сейчас мою ошибка?
$('.stlchek input:checkbox').ready(function() {
            if ($('.stlchek input:checked').length)
               $(this).parents('.stlchek').css({backgroundColor: 'red'});
            else
               $(this).parents('.stlchek').css({backgroundColor: 'white'});
         });
Ответить с цитированием
  #10 (permalink)  
Старый 03.08.2011, 17:56
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Так ты чей IF прокомментировал ТС'а или мой (так как в моем было .length) ?
Я подумал что твой комментарий к моему сообщению относится))

Beriagts,
Я хз если у инпута есть ready. Но тебе надо при загрузки страницы выполнить ? поставь тогда ready на документ
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай

Последний раз редактировалось walik, 03.08.2011 в 17:59.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
убрать checked с radiobutton agert Events/DOM/Window 15 17.08.2013 12:32
Оцените, пожалуйста код вёрстки OlegALL Ваши сайты и скрипты 18 26.07.2011 09:35
Background выше содержимого блока MCTrane (X)HTML/CSS 13 23.03.2011 19:57
Checked Radio CTPECC jQuery 6 13.11.2009 19:07
background image, справочник igor1102828 Элементы интерфейса 2 23.03.2008 18:53