2013-08-27 3 views
-1

Как я могу изменить класс CSS поля ввода, если поле ввода имеет значениеИзменить CSS класс, если вход имеет значение

Пример:

<input name='referrer' type='text' class='input-xlarge placeholder' placeholder='Referrer' value='{$ref}' style='width:346px;'> 

В настоящее время, я делаю например:

if ($('#reffield').val() != ''){ $('#reffield').addClass('classname'); } 

Но это не имеет никакого эффекта и не вызывает никакой ошибки.

+0

Вы хотите изменить только '#reffield' (один элемент) или несколько элементов ввода? Хотя процесс будет по существу тем же, просто хочу пояснить пример. Если нет элемента с id = 'reffield', это не сработает. –

+2

Нет такой вещи, как «класс css». Вы имеете дело с классами HTML. – Quentin

+0

У вас нет идентификатора в HTML – achakravarty

ответ

4

Вы должны указать идентификатор атрибута внутри тега, например:
<input id="reffield" name='referrer' type='text' class='input-xlarge placeholder' placeholder='Referrer' value='{$ref}' style='width:346px;'>

Ваш селектор JQuery не может найти элемент с идентификатором «reffield» на основе вашего HTML.

1

#reffield is an id selector. Он соответствует элементам, основанным на значении их атрибута id. Ваш вклад не имеет атрибута id, вы должны установить одно:

<input id='referrer' name='referrer' type='text' 
0

Там нет ID тегов найдена и

Вам нужно написать скрипт в KeyDown функции или некоторых условиях.

$('input').keydown(function(e){ 

     $("#reffield").css({ backgroundColor:"blue" }); 

}); 

DEMO

0

Этот код изменения каждый входной имя класса со значением! = ""

$('input[value!=""]').each(function() { 
    this.className = "className"; 
}); 

, если вы хотите изменить один конкретный вход с заданным идентификатором

<input id="reffield" value="..:" ../> 

затем

$('#reffield[value!=""]')[0].className = "className"; 

, если вы хотите изменить конкретный вход на основе имени

// if ($('input[name="reffield"][value!=""]')[0]) 
     $('input[name="reffield"][value!=""]')[0].className = "classname" 

Вы можете прочитать documentation of selectors

Примечание: Вы говорите «класс изменения», а не «добавить класс». Во втором случае вы должны использовать метод .addClass вместо .className property

Смежные вопросы