2014-03-25 30 views
1

我有兩個表單域,可以稱它們爲分子和分母。我希望第三個字段總數在每次更改其中一個值時自動更新(當提交表單時,它已在數據庫中正確計算)。我可以使用jQuery獲取字段的值,但它們似乎與頁面加載時保持不變,所以沒有更新。作爲參考,這裏是我的代碼(顯然,警報框將最終填充一個新的字段)。我不想爲此使用AJAX。如何使用jQuery動態計算表單域?

$('#id_num, #id_den').on("change", function() { 
    var total = $('#id_num').attr("value")/$('#id_den').attr("value"); 
    alert(total);  
    }); 

回答

1

attr("value")只有前1.9如1.5.1工作在jQuery的版本

$('#id_num, #id_den').on("change", function() { 
    var total = $('#id_num').val()/$('#id_den').val(); 
    if(isNaN(total)){ 
     /* invalid inputs */ 
    } 
    else if(!isFinite(total)){ 
     /* devided by 0 */ 
    } 
    else { alert(total); } 
}); 

keyup如爲了使網站更加敏感替代change即可。

1

對於<input>元素,以下工作爲我警示顯示來自除法操作的正確結果。 1.8.1

但是,無論你使用什麼樣的jQuery版本的,你應該總是使用val() - .val(),而不是attr("value")

$('#id_num, #id_den').on("change", function() { 
    var total = $('#id_num').val()/$('#id_den').val(); 
    alert(total);  
    });