Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Условия в скрипте в зависимости от input type="radio" (https://javascript.ru/forum/jquery/7599-usloviya-v-skripte-v-zavisimosti-ot-input-type%3D-radio.html)

subzey 17.02.2010 14:14

Цитата:

Сообщение от sysya
А в новом jquery можно вот так цвет менять

Новый jQuery нравится мне всё меньше и меньше.

FladeX 17.02.2010 14:14

Большая просьба посмотреть код и сказать, почему может не работать "отключение" цвета рамки - http://forumcatalog.ru/d/#pl
Без переключателей "верх - .. - низ", первый клик вызывал окрашивание в красный цвет, второй клик возвращал цвет рамки в обычное состояние. Теперь же только первая часть выполняется. Почему так?

FladeX 17.02.2010 14:22

Хм.. Если назначить цвет таким образом:
$(this).css("border-right","1px solid red");

То такое условие
if ($(this).css("border-right") == "1px solid red")

всегда оказывается false... Почему?

sysya 17.02.2010 14:45

Так пробани цвет проверить
$('el').css('border-color', function(i, currentCssColor){ 
    return currentCssColor!='red' ? 'red' : 'blue'; 
});

FladeX 17.02.2010 15:05

Проверил. Красный.
Два факта:
1. Без родительских условий
if ($('input:checked:enabled').val()=='top')
все работает нормально.
2. Цвет задается в коде, а в условии проверяется именно то значение, которое устанавливалось в коде выше.

sysya 17.02.2010 17:27

Метод css возвращает красный так #ff0000, значит проверять и устанавливать цвет так
$(this).css("border-right","1px solid #ff0000");
if ($(this).css("border-right") == "1px solid #ff0000"){}
Да, на всякий случай можно пользоваться яваскриптовым методом alert(), что посмотреть какая конструкция что выводит
alert($(this).css("border-right"));//выведет 1px solid #ff0000


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