12

数百のテキスト ボックスがあるフォームがあり、読み込み時にコンマを削除して、コンマが入力されないようにしたいと考えています。セレクターが正しいと仮定すると、次のコードが機能するはずではありませんか?

$(document).ready(function () {
  $("input[id*=_tb]")
  .each(function () {
      this.value.replace(",", "")
  })
  .onkeyup(function () {
      this.value.replace(",", "") 
  })
});
4

3 に答える 3

31
$(function(){
    $("input[id*=_tb]").each(function(){
        this.value=this.value.replace(/,/g, "");
    }).on('keyup', function(){
        this.value=this.value.replace(/,/g, "");
    });
});

string.replace()JavaScript関数の説明と例については、こちらを参照してください。

http://davidwalsh.name/javascript-replace

@Vegaが言ったように、これは新しい値をテキストボックスに書き戻しません-そうするようにコードを更新しました。

于 2012-08-21T13:01:22.257 に答える
5

g文字列の代わりにフラグ付きの正規表現を使用してください: .replace(/,/g, "")

于 2012-08-21T13:01:36.680 に答える
2

入力フィールドに値を戻していないことを除いて、コードは正しく見えます。

$(document).ready(function () {
  $("input[id*=_tb]")
  .each(function () {
      this.value = this.value.replace(/,/g, "")
  })
  .onkeyup(function () {
      this.value = this.value.replace(/,/g, "") 
  })
});

編集:正規表現を使用

于 2012-08-21T13:01:48.277 に答える