2010-01-25 8 views
1

다음 작업을 수행하려고하는데 어떻게해야할지 모르겠다. 사용자가 정보를 입력 할 곳 (예 : Excel)이 있습니다. 표에는 "empno", "paycode", "payrate", "hours"등과 같은 열이 있습니다. 사용자는 시스템의 각 직원에 대한 각 지불 코드마다 별도의 레코드를 그리드에 입력합니다. 그래서 그리드 내가 두 개의 그리드를해야합니다이 그리드 아래 다음javascript/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 

처럼 보일 것입니다. 하나는 "직원 합계"를 표시하고 다른 하나는 "지불 코드 별 합계"를 표시하는 것입니다. 그래서 사용자가 그리드에 데이터를 입력하면 2 차원 배열에 값을 추가/업데이트 할 계획입니다. 그런 다음 사용자가 그리드의 특정 레코드를 클릭하면 해당 레코드에서 empno를 읽고 배열을 html 테이블에 바인딩하여 직원 합계를 표시합니다. 보시다시피 사용자가 입력 한 데이터는 empno 순서가 아닐 수도 있습니다. 사용자는 먼저 지불 코드 "R", 지불 코드 "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

각 직원마다 기록 만 있다면 위의 내용이 효과가 있다고 생각합니다. 하지만 각 직원에 대해 두 가지 이상의 기록을 보유하게 될 것입니다. 직원이 서로 다른 두 개의 paycode 또는 두 개의 다른 payrate를 가진 기록을 가지고 있다면, 그 직원에 대해 두 개의 기록을 갖게 될 것입니다. 각 직원마다 고유 한 지불 코드와 지불 비율에 대한 총 시간을 저장해야합니다. – Sridhar

+0

그런 다음 직원 레코드의 배열로 수정하십시오. – BBonifield

+0

감사합니다. 나는 이것을 시도 할 것이다. – Sridhar

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