0

以下のコードを使用して、JqueryFocusOutの実行時にクラスを変更しています

$("#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)は実行されません。

ここで何かが足りませんか?

4

1 に答える 1

0

おそらく、数値のみとアルファのみの検証は focusout イベントでのみ発生します。同じイベントでクラスを割り当てているため、実行の順序がこの問題を引き起こしている可能性があります。まずそれを確認してください。

その場合は、次の投稿からヘルプを得ることができます。

イベントの注文

于 2013-03-01T09:31:57.417 に答える