我有一个文本框,其值来自数据库,但如果用户更改了值,则需要在计算中使用此值。
$('#ecost input.ecost').keyup(function(){
if (!isNaN(this.value) && this.value.length != 0) {
var Cost = $(this).val();
}
});
和
var cost = $('input.ecost1').val();
我需要keyup
函数为用户输入值(第一个代码示例),否则默认数据库值(第二个代码示例)。如何写这个if / else条件?
我需要
if ($('#ecost input.ecost').keyup(function(){
if (!isNaN(this.value) && this.value.length != 0) {
var Cost = $(this).val();
}
}); )
else {
var cost = $('input.ecost1').val();
}
我知道if()代码是错误的但是逻辑如何纠正
答案 0 :(得分:2)
如果我理解正确,这就是必需的。
var valueFromDB = getValueFromDB(); //Your function for calling database
var Cost = 0;
$('#ecost input.ecost').keyup(function(){
if (!isNaN(this.value) && this.value.length != 0) {
Cost = $(this).val();
}
else{
Cost = valueFromDB;
}
});
答案 1 :(得分:0)
if-else在javascript中的工作原理如下:
if(expression) {
//do this if expression is true
} else {
//do this if expression is false
}
答案 2 :(得分:0)
如果在评估输入之前提供默认值,则无需包含else
:
更新。
var Cost = 123; // default value;
$('#ecost input.ecost').keyup(function(){
if (!isNaN(this.value) && this.value.length != 0) {
Cost = this.value;
}
});
答案 3 :(得分:0)
这是你想要的吗?
var Cost = $('input.ecost1').val();
$('#ecost input.ecost').keyup(function(){
if (!isNaN(this.value) && this.value.length != 0) {
Cost = $(this).val();
}
}