如何检测 jQuery 中输入的每个变化
how can detect every change on input in jQuery
我有 2 个输入,我将一些值从 input1 发送到 input2 我想检测 input2 何时更改。
HTML
<input type="text" id="input1"/>
<input type="text" readonly id="input2"/>
JS
$('#input1').on("change" , function() {
if($("#input1").val() == "550") {
$("#input2").val("2012")
}
else if($("#input1").val() == "650") {
$("#input2").val("2013")
}
else {
$("#input2").val("")
}
})
现在我想检测 input2 何时有值以及何时为空
此代码不起作用,因为当输入发生变化时,键盘等发生了变化
$('#input2').on('input',function(e){
alert('Changed!')
});
我需要这样的代码来检测 input2 中的每一个变化,谢谢
尝试 this:put 你的整个代码 input1
输入 event.If 你想用旧的 input2
值复制然后在给它分配新值之前检查它。
$('#input1').on('blur',function(e){
var values="";
if($(this).val() == 550) {
values="2012";
}
else if($(this).val() == 650) {
values="2013";
}
else {
values="";
}
if($("#input2").val() == values){
alert("no change");
}else{
$("#input2").val(values);
alert("changed");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="input1"/>
<input type="text" readonly id="input2"/>
你可以试试这个:
$('#input1')
.on('keyup input', function(){
var value = $(this).val();
var $input2 = $('#input2');
switch(value) {
case "550":
$input2
.val("2012");
$input2
.trigger('change');
break;
case "650":
$input2
.val("2013");
$input2
.trigger('change');
break;
default:
$input2
.val("");
}
});
$('#input2')
.on('change', function(){
alert($(this).val());
});
这里是 FIDDLE.
我有 2 个输入,我将一些值从 input1 发送到 input2 我想检测 input2 何时更改。
HTML
<input type="text" id="input1"/>
<input type="text" readonly id="input2"/>
JS
$('#input1').on("change" , function() {
if($("#input1").val() == "550") {
$("#input2").val("2012")
}
else if($("#input1").val() == "650") {
$("#input2").val("2013")
}
else {
$("#input2").val("")
}
})
现在我想检测 input2 何时有值以及何时为空
此代码不起作用,因为当输入发生变化时,键盘等发生了变化
$('#input2').on('input',function(e){
alert('Changed!')
});
我需要这样的代码来检测 input2 中的每一个变化,谢谢
尝试 this:put 你的整个代码 input1
输入 event.If 你想用旧的 input2
值复制然后在给它分配新值之前检查它。
$('#input1').on('blur',function(e){
var values="";
if($(this).val() == 550) {
values="2012";
}
else if($(this).val() == 650) {
values="2013";
}
else {
values="";
}
if($("#input2").val() == values){
alert("no change");
}else{
$("#input2").val(values);
alert("changed");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="input1"/>
<input type="text" readonly id="input2"/>
你可以试试这个:
$('#input1')
.on('keyup input', function(){
var value = $(this).val();
var $input2 = $('#input2');
switch(value) {
case "550":
$input2
.val("2012");
$input2
.trigger('change');
break;
case "650":
$input2
.val("2013");
$input2
.trigger('change');
break;
default:
$input2
.val("");
}
});
$('#input2')
.on('change', function(){
alert($(this).val());
});
这里是 FIDDLE.