在我的输入上,我有一个函数,当用户点击它时,它会删除输入的值。 为此,没问题。
我正在尝试编写一个函数来在输入字段中“重写”,如果用户没有在模糊处填充它,则是最后一个已知值。
当我只使用以下代码一个输入时,它可以正常工作:
$("input").blur(function() {
if ($(this).val().length != 0){}
else{
$("#angleplansup1").val(parameters5.a1);
}
}
);
parameters5.a1 = Number($('#angleplansup1').val());
问题是我有很多输入,当我把它们全部放掉时它不起作用,因为它们都改变了......(这是合乎逻辑的)。
所以,我正在寻找一种方法来放置最后的已知值。
$("input").blur(function() {
if ($(this).val().length != 0){}
else{
$(this).val("the last known value");
}
}
);
我尝试使用document.activeElement
,但似乎无法使用模糊。
另一种方法是自动化一种开关或阵列,但我还没有足够的技巧去思考它,我会对此有所了解。 这是我的代码与其他变量,如果它可以帮助。 非常感谢你。 祝你有愉快的一天。
$("input").blur(function() {
if ($(this).val().length != 0){}
else{
$("#hauteuraxe1").val(parameters5.h);
$("#angleplansup1").val(parameters5.a1);
$("#grandehauteur2").val(parameters5.gh);
$("#delta2").val(parameters5.delta);
$("#petitehauteur3").val(parameters5.ph);
...
..
.
}
});
parameters5.h = Number($('#hauteuraxe1').val());
parameters5.a1 = Number($('#angleplansup1').val());
parameters5.gh = Number($('#grandehauteur2').val());
parameters5.delta = Number($('#delta2').val());
parameters5.ph = Number($('#petitehauteur3').val());
...
..
.
答案 0 :(得分:1)
首先,你需要保持你的价值观。为此,我创建了一个对象values
,其中包含'id' : 'value"
之类的值。如果有值,则每blur
后,我会将文本存储在values
中。如果blur
之后没有值,我会设置前一个。
参见示例
var values = {};
$('input').on('blur', function(e){
var target = e.currentTarget;
if(target.value){
values[target.id] = target.value
} else {
target.value = values[target.id];
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="a" />
<input id="b" />