1

jquery で、ユーザーがタブでコントロールを終了するか、textbos への入力を終了すると、フィールドから # 文字を削除する関数を作成する必要があります。

 $('[id$=txtClient]').keyup(function (){

}

まず、それを削除する方法がわかりません。キーアップで削除する必要がありますか? または別のイベントで?

4

3 に答える 3

7

どうぞ:

$('[id$=txtClient]').keyup(function (){
    var $el = $(this); // the text element
    var text = $el.val();
    text = text.split("#").join("");//remove occurances
    $el.val(text);//set it back on the element
});

これが実用的なフィドルです

于 2013-05-23T10:11:34.787 に答える
1

keyupご希望のイベントではないと思います。代わりにblur、要素がいつフォーカスを失ったかを追跡する を使用することをお勧めします。そうしないと、ユーザーは入力できなくなり#、イライラすることがあります。次に、文字replace()を削除するために使用できます。#

$('[id$=txtClient]').blur(function() {
     $(this).val( $this.val().replace(/#/g, '') );
});

関数内のコードは、要素のテキストを既存のテキストに設定しますが#、正規表現を使用してそれぞれを空の文字列に置き換えます。(Benjamin Gruenbaum に、私の最初の の使用に関する欠陥を指摘していただき、ありがとうございますreplace())。

于 2013-05-23T10:17:42.790 に答える
0

入力がフォーカスを失ったときに発生するblurイベントを使用し、入力valueのプロパティとしてアクセスできる を変更するだけです (jQuery ラッパーの場合: .val())。

$("[id$=txtClient]").blur(function() {
    this.value = this.value.replace(/#/g, "");
});
于 2013-05-23T10:39:46.853 に答える