我有關於數組的這個(簡單)問題。我試圖獲得所有在html中輸入的棋盤英尺的總數。這裏有一個正在運行的示例代碼:click here計算來自數組的數據
(感謝AsKaiser的那個代碼)。
現在,我想要做的是每次點擊go
按鈕時,它會自動計算輸入到該陣列中的總電路板尺寸。因此,每次我輸入這種形式的東西並點擊開始,數據就會進入該陣列,並且所有電路板英尺的總數將顯示在下面的輸入框中。隨着我將數據添加到陣列中,它會不斷變化。
我無法讓它工作,總是有一個NaN
值。
我有關於數組的這個(簡單)問題。我試圖獲得所有在html中輸入的棋盤英尺的總數。這裏有一個正在運行的示例代碼:click here計算來自數組的數據
(感謝AsKaiser的那個代碼)。
現在,我想要做的是每次點擊go
按鈕時,它會自動計算輸入到該陣列中的總電路板尺寸。因此,每次我輸入這種形式的東西並點擊開始,數據就會進入該陣列,並且所有電路板英尺的總數將顯示在下面的輸入框中。隨着我將數據添加到陣列中,它會不斷變化。
我無法讓它工作,總是有一個NaN
值。
您的代碼非常混亂。 plank_data的要點是什麼?
爲什麼不這樣做,而是更有意義。
function Plank()
{
var self = this;
self.Number = 0;
self.Thickness = 0;
self.Width = 0;
self.Length = 0;
self.Quantity = 0;
self.GetBoardFoot = function()
{
return (((parseFloat(self.Thickness) * parseFloat(self.Width) * parseFloat(self.Length) * parseFloat(self.Quantity))/12);
}
}
var planks = [];
function AddPlank()
{
var myPlank = new Plank();
myPlank.Number = $('#plank_number').val();
myPlank.Thickness = $('#thickness').val();
myPlank.Width = $('#width').val();
myPlank.Length = $('#length_t').val();
myPlank.Quantity = $('#quantity').val();
planks.push(myPlank);
}
function GetTotalBoardPlank()
{
var total = 0;
for (var i = 0; i < planks.length; i++)
total += planks[i].GetBoardFoot();
return total;
}
function Go()
{
AddPlank();
$('#board_foot').val(parseFloat(GetTotalBoardPlank()));
}
Is this what you are looking for?
plank_data = [];
$('#go').click(function() {
var plankNum = parseFloat($('#plank_number').val() || 0.00),
thick = parseFloat($('#thickness').val() || 0.00),
width = parseFloat($('#width').val() || 0.00),
length_t = parseFloat($('#length_t').val() || 0.00),
quantity = parseFloat($('#quantity').val() || 0.00);
//compute board foot
board_foot = parseFloat((thick * width * length_t * quantity)/12);
// show board foot
$('#board_foot').val(board_foot);
var current_data = {};
$('#plank_form input:text:not("#board_foot")').each(function() {
var $this = $(this);
current_data[$this.attr('id')] = parseFloat($this.val() || 0.00);
$this.val('');
});
//this will push data/add data to array
plank_data.push(current_data);
var total = parseFloat(plankNum + thick + width + length_t + quantity);
$('#total').val(total);
});
對我的作品,我只得到NaN當字段爲空或無效的數據,當然 –
是的..但我想那是什麼evrytime我點擊按鈕去,總所有電路板的腳將顯示在下面的輸入框中。你再次輸入一些數據,然後再次點擊按鈕,下面的總數將被更新,並且該數組中的所有board_foot。 – jayAnn