javascript jQuery:监听字段中的输入?[副本]

hgncfbus  于 2023-05-12  发布在  Java
关注(0)|答案(3)|浏览(133)

此问题已在此处有答案

Detecting value change of input[type=text] in jQuery(11个回答)
8小时前关闭
我有下面的HTML代码,我想调用一个函数使用的ID字段,每当有输入的输入字段,无论输入字段的编号。

<input type="text" pattern="[0-9]*" name="code" maxlength="1" autofocus="autofocus" id="input1" class="input1"/>
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input2" class="input2"/>
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input3" class="input3"/>
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input4" class="input4"/>

而不是下面的,我想调用一个函数的所有。

$("#input1").on('input', function () {
    console.log("this is input1");
});

$("#input2").on('input', function () {
    console.log("this is input2");
});

$("#input3").on('input', function () {
    console.log("this is input3");
});
$("#input4").on('input', function () {
    console.log("this is input4");
});
ukxgm1gy

ukxgm1gy1#

您可以使用此选择器来定位所有输入$('input[id^=input]')
input[id^=input]意味着它将处理所有输入的id以input开头的输入

$("input[id^=input]").on('input', function() {
  console.log("this is " + this.id);
});
$("input[id^=input]").on('input', function() {
  console.log("this is " + this.id);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" pattern="[0-9]*" name="code" maxlength="1" autofocus="autofocus" id="input1" class="input1" />
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input2" class="input2" />
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input3" class="input3" />
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input4" class="input4" />
lrl1mhuk

lrl1mhuk2#

很多方法。其中之一是选择所有输入并触发输入法

$("input").on("input", function (e) {
  console.log("this is input", e.target.id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<input type="text" pattern="[0-9]*" name="code" maxlength="1" autofocus="autofocus" id="input1" class="input1"/>
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input2" class="input2"/>
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input3" class="input3"/>
<input type="text" pattern="[0-9]*" name="code" maxlength="1" id="input4" class="input4"/>
icnyk63a

icnyk63a3#

jQuery $()查询选择器函数接受多个逗号分隔的选择器。

$("#input1,#input2,#input3,#input4").on('input', function () {
    console.log("this is input from input 1, 2, 3 and 4");
});

相关问题