14

値が数値でない場合、指定された入力をクリアしたい。関数は1つのIDで機能しますが、複数のIDで機能させたいです。もちろん、関数を複数回書くことはできますが、やりたくありません。

次のコードは、IDが「d」の入力に対してのみ有効になります。他のIDを識別する方法がわかりません。誰か助けてもらえますか?

<input id="d" />

<input id="d2" />

<input id="d3" />

<script type="text/javascript">

$('#d,d2,d3').keyup(function(){

if($('#d,d2,d3').val() != "") {

    var value = $('#d,d2,d3').val().replace(/^\s\s*/, '').replace(/\s\s*$/, '');

    var intRegex = /^\d+$/;

    if(intRegex.test(value)) {}

    else {


    $(this).val('');

    }



}

});

</script>
4

6 に答える 6

30

$('#d,d2,d3')使用する代わりに$('#d, #d2, #d3')、ifステートメントを使用する$(this).val()

于 2012-06-22T06:31:47.450 に答える
9

次のように複数の ID を入力する代わりに、セレクターで始まるを使用できます。

$('[id^=d]')

上記のセレクターは、id が、dなどで始まるすべての要素に対して機能します。d1d2d3

コードは次のようになります (他のエラーも修正します)。

$('[id^=d]').keyup(function(){   
 if(this.value != "") {
    var value = this.value.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    var intRegex = /^\d+$/;
    if(intRegex.test(value)) {}
    else {
      this.value = '';
    }
 }    
});
于 2012-06-22T06:33:25.883 に答える
4
$('input[id^=d]').keyup(function() {
    var val = $.trim( this.value ); // or $.trim( $(this).val() )
    if (val != "") {
        var value = val.replace(/^\s\s*/, '').replace(/\s\s*$/, ''),
            intRegex = /^\d+$/;
            if (intRegex.test(value)) {
                // do something
            } else {
                $(this).val('');
            }
    }
});​

[id^=d]で開始することを意味するセレクターでid開始しdます。

jQuery 開始セレクターについて読む

于 2012-06-22T06:33:26.767 に答える
4

#for を忘れましたd2 & d3。また、this.

$('#d,#d2,#d3').keyup(function(){

    if($(this).val() != "") {

        var value = $(this).val().replace(/^\s\s*/, '').replace(/\s\s*$/, '');

        var intRegex = /^\d+$/;

        if(intRegex.test(value)) {}
        else {
            $(this).val('');

        }
    }
});
于 2012-06-22T06:34:31.290 に答える
3

他の 2 つの ID のハッシュを忘れました。

$('#d,#d2,#d3')

jQuery の複数 ID セレクターも参照してください 。

于 2012-06-22T06:32:42.467 に答える
3

クラス属性を追加できます

   <input id="d" class="A"/> 
    <input id="d2" class="A"/> 
    <input id="d3" class="A"/> 

クラス名で次のセレクターを使用する

$('.A').keyup
于 2012-06-22T06:35:04.290 に答える