2013-03-01 2 views
0

Am, используя приведенный ниже код, чтобы изменить класс во время выполнения в Jquery FocusOutJquery Add Remove класса

$("#txtNewAttributes").focusout(function() { 
    var attributeTextBox = $("#txtNewAttributes").val() 
    if ($.trim(attributeTextBox) == "Height") 
     $(txtNewValues).removeClass('alphaonly').addClass('numbersonly'); 
    if ($.trim(attributeTextBox) == "string" || $.trim(attributeTextBox) == "string2") 
     $(txtNewValues).removeClass('numbersonly').addClass('alphaonly'); 
}); 

И имеет проверку с использованием имен классов, загруженные в странице.

Моя проблема в FireBug. Я вижу, что имя класса изменилось для txtNewValues. Но все же ожидаемые проверки (alphaonly, numbersonly) не запускаются.

Я что-то упустил?

+0

Вы можете добавить скрипичный диск для этого? –

+0

Ничего общего с [tag: jquery-validate] plugin. Удаленный тег. – Sparky

ответ

0

Вероятно, только числовые и альфа-проверки проверяются только на событии фокуса. Поскольку вы назначаете классы в одном и том же событии, это может быть причиной того, что порядок выполнения вызывает эту проблему. Сначала проверьте это.

Если это так, то вы можете получить помощь от следующего сообщения.

Event Ordering