如果keyup为其他默认值,则为Jquery

时间:2015-04-15 07:45:17

标签: javascript jquery

我有一个文本框,其值来自数据库,但如果用户更改了值,则需要在计算中使用此值。

$('#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()代码是错误的但是逻辑如何纠正

4 个答案:

答案 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();
    }
 }