我正在使用javascript/jquery來計算一些簡單的公式。我通過創建對象然後使用HTML輸入元素的值作爲執行和返回答案所需的參數來完成此操作。輸入文本的JQuery值不能用作參數
這裏的JavaScript(HTML和CSS在的jsfiddle鏈接這一問題的末尾提供):
var recP = $("#recP");
var recA = $("#recA");
var ansr = $("#ansr");
var l = $("#l").val();
var w = $("#w").val();
//rectangle
function Rectangle(length,width) {
this.length = length;
this.width = width;
this.calcPerim = function() {
return (this.length * 2) + (this.width * 2);
};
this.calcArea = function() {
return this.length * this.width;
};
};
var rectangle = new Rectangle(l,w); // l and w are defined in the above variables
var recPerim = rectangle.calcPerim(l,w);
var recArea = rectangle.calcArea(l,w);
recP.click(function() {
ansr.append("The perimeter is " + recPerim);
});
recA.click(function() {
ansr.append("The area is " + recArea);
});
如果我設置輸入元素的值,我得到預期的結果。例如:
<input type="text" id="l" value="3" />
<input type="text" id="w" value="4" />
將返回12的面積和14的周邊,但是當該值在輸入框中被改變時,它仍返回相同的值。這真是令人沮喪,我無法弄清楚什麼是錯的。我甚至嘗試過不設置一個值,但這只是返回0.
這是一個帶有所有HTML,CSS和JS的jsFiddle。如果更改值,結果仍然相同。我是新來的JavaScript,所以任何幫助表示讚賞。
這工作,它實際上更好,因爲現在我不必定義新的變量的長度和其他形狀。但是,只有當所有事情都是地方性而非全球性時,它才能起作用的原因是什麼 – samrap
它在第一個腳本運行 – twil
上僅獲取一次值,這是合理的。謝謝! – samrap