2016-04-25 2 views
0

Я просто не могу понять поведение, я не гуру JQuery, и это дает мне головную боль. Таким образом, на мой документ, готовый я естьКласс JQuery добавлен не сохраняется при изменении

$('#Table').on('change', '#TeamValue', function (event) { 
     $(this).removeClass("valid"); 
     $(this).addClass("input-validation-error"); 
     var myClass = $(this).attr('class'); 
     console.log(myClass); 
    } 
}); 

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

Спасибо!

Ввода до изменения класса:

<input id='TeamValue' type='text' class='small-textbox'> 

консоль журнал:

text:a -.js:451:1 
wroing! -.js:456:13 
small-textbox input-validation-error 

HTML этого элемента после того, как его класс был изменен:

<input id="TeamValue" onkeyup="Restriction()" class="small-textbox valid" type="text"> 
+0

ли вы имеете в виду, что CSS, связанные с этим классом не вступают в силу? Кроме того, можете ли вы опубликовать некоторые из html? – nurdyguy

+0

Я добавил более подробную информацию в первом сообщении. Класс как-то удален после того, как моя функция закончена, и я не знаю, как ... –

+0

От того, что у вас там, это выглядит правильно. Есть ли код в другом месте, который может мешать? – nurdyguy

ответ

-1

$(this) контекста вы имеете в виду вероятно, является элементом #Table, а не #TeamValue элемент, который вы ожидаете. Мое предположение состоит в том, что вместо этого происходят изменения класса на этом элементе. Попробуйте установить обработчик изменения непосредственно к #TeamValue элемента:

$('#TeamValue').on('change', function (event) { 
    $(this).removeClass("valid"); 
    $(this).addClass("input-validation-error"); 
    var myClass = $(this).attr('class'); 
    console.log(myClass); 
}); 

`` `

+0

Это неправда. Этот указатель ссылается на #TeamValue. Хотя он, вероятно, должен изменить привязку, чтобы соответствовать тому, что вы положили, но только потому, что он использует идентификатор и, возможно, также воспользуется этим. – nurdyguy

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