jQuery,多个id的相同功能

F0G*_*F0G 14 javascript jquery

如果值不是数字,我想清除指定的输入.函数适用于一个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>
Run Code Online (Sandbox Code Playgroud)

sla*_*197 28

而不是$('#d,d2,d3')使用$('#d, #d2, #d3')和if语句使用$(this).val()


Sar*_*raz 10

您可以使用选择器的启动而不是像这样放入多个ID:

$('[id^=d]')
Run Code Online (Sandbox Code Playgroud)

上述选择器将用于其ID的开始与所有元素的工作dd1,d2,d3等等.

以下是您的代码应该如何(修复其他错误):

$('[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 = '';
    }
 }    
});
Run Code Online (Sandbox Code Playgroud)