jQuery: добавить класс к входу, когда значение уже введено при загрузке страницы - PullRequest
0 голосов
/ 17 августа 2011

Я использую следующий код jQuery для стилизации некоторых входных данных в зависимости от того, фокусируются ли они или в них есть содержимое.

$('.Textbox')
.focus(function() { $(this).addClass("selected") })
.blur(function() { if ($(this)[0].value == '') { $(this).removeClass("selected") } });

Моя проблема заключается в том, что некоторые из моих входных данных автоматически заполняютсябраузером, если пользователь является возвращающимся посетителем.Как, например, поля имени пользователя и пароля.Поскольку входы имеют введенное значение, я хочу по-разному их стилизовать.К сожалению, jQuery не будет применять стили, пока пользователь не будет взаимодействовать с вводом напрямую.

Можно ли посмотреть, есть ли у ввода значение (без взаимодействия пользователя с вводом) иа затем дать ему имя класса?

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 17 августа 2011

вы можете сделать это при «загрузке страницы»

$(document).ready( function () {
    $('.Textbox').each( function () {
        $this = $(this);
        if ( this.value != '' ) $this.addClass('yourClass');        
    });
});
0 голосов
/ 17 августа 2011
События

focus() и blur() относятся к взаимодействию с пользователем. Вам следует попробовать событие change() в jQuery, так как оно запускается при изменении значения ввода, даже если это изменение было вызвано программой, а не только пользователем: http://api.jquery.com/change/

...