2010-01-25 65 views
1

我正在嘗試執行以下操作,但我不知道如何執行該操作。我有一個網格(如excel),用戶將輸入信息。網格有「empno」,「paycode」,「payrate」,「hours」等欄。用戶將在系統中爲每個員工的每個支付代碼在網格中輸入單獨的記錄。所以網格將如下所示讀取/更新數組中的數組對象/ jquery

empno paycode  payrate   hours 
1  R   25.00   40.00 
2  R   12.00   40.00 
3  R   15.00   18.00 
1  v   25.00   12.00 
2  PTO   25.00   18.00 

低於這個網格我將有兩個網格。一個顯示「員工總數」,另一個顯示「按薪資總額」。所以當用戶在網格中輸入數據時,我打算將這些值添加/更新到二維數組中。然後,當用戶點擊網格上的特定記錄時,我將從該記錄中讀取empno,並通過將數組綁定到html表來顯示員工總數。正如你所看到的,用戶輸入的數據可能不是按照empno的順序。用戶可以首先輸入數據paycode「R」,然後paycode「V」等

請讓我知道你的想法。

回答

1

你爲什麼不把它存儲在一個JavaScript對象中,這個對象的鍵是你的員工號碼。例如...

var emps = {}; 

emps['1'] = [ 
    { 
     empno : '1', 
     paycode : 'R', 
     payrate : '25.00', 
     hours : '40.00' 
    }, 
    { 
     empno : '1', 
     paycode : 'G', 
     payrate : '30.00', 
     hours : '10.00' 
    } 
]; 

function getEmp(empno) { 
    if (emps[empno] && typeof emps[empno] === "object") { 
     return emps[empno]; 
    } else { 
     return false; 
    } 
} 
function addRecord(record) { 
    if (!emps[record.empno] || typeof emps[record.empno] !== "object") { 
     emps[record.empno] = []; 
    } 
    emps[record.empno].push(record); 
} 
+0

我認爲如果我只對每位員工進行記錄,上面的一個將會起作用。但是我將爲每位員工創造不止一個記錄。如果員工記錄了兩種不同的工資代碼或兩種不同的工資,那麼我將爲該員工記錄兩條記錄。對於每位員工,我需要爲每個不同的支付代碼和支付率存儲總時數。 – Sridhar 2010-01-25 21:00:11

+0

然後將其修改爲員工記錄數組。 – BBonifield 2010-01-25 22:14:46

+0

謝謝。我會試試這個。 – Sridhar 2010-01-25 22:26:19

0

這聽起來像你通過輸入字段要循環,並更新員工總計字段。

如果員工數量記錄的數量未知,我將爲每個類似於此的輸入使用一個ID:id = empno_x其中x是每個員工的唯一ID。然後,您可以使用jQuery使用來獲取值:

//Loop through all employee number input fields 
$(":input[id^='empno_']").each function(){ 
    //Do whatever you need to do with the data (add it to an array etc) 
}); 

所以,你會做,對於EMPNO,paycode,payrate和小時領域。

一旦你捕獲的數據被輸入,它只是一個操作使用jQuery的HTML的問題。

希望這會有所幫助!

+0

感謝您的答覆。我的問題是如何添加/更新記錄到數組以及如何從數組中檢索特定員工的值。例如,如果我有一個員工數組,其中每個員工本身都是一個數組,並且如果我需要獲取empno = 1的值,那麼我將如何有效地執行此操作? – Sridhar 2010-01-25 20:04:45