2017-10-10 7 views
-1

2 개의 열 "id"(고유 값)와 "name"이있는 테이블이 있습니다. jQuery를 사용하여 ID가 ​​ID 배열 (예 : SR1, B1, B2)과 일치하고 해당 행의 '이름'필드 값이 비어있는 행의 수 (길이)를 반환하고 싶습니다.Jquery는 2 열의 특정 값을 가진 테이블 행 수를 찾습니다.

지금까지 내가 가진 :

var empty = $('[tabulator-field="name"]:empty').length; 
var sr1 = $('.tabulator-row:nth-of-type(29) [tabulator-field="name"]:empty').length; 
var sr2 = $('.tabulator-row:nth-of-type(30) [tabulator-field="name"]:empty').length; 
var b1 = $('.tabulator-row:nth-of-type(7) [tabulator-field="name"]:empty').length; 
var b2 = $('.tabulator-row:nth-of-type(8) [tabulator-field="name"]:empty').length; 
var c10 = $('.tabulator-row:nth-of-type(27) [tabulator-field="name"]:empty').length; 
var c11 = $('.tabulator-row:nth-of-type(28) [tabulator-field="name"]:empty').length; 
var emptySR = sr1 + sr2 + b1 + b2 + c10 + c11; 
var emptyBeds = empty - emptySR; 

그러나,이 오히려 자신의 ID 값보다는 (표에 자신의 위치에 의해 나는에 관심이 행을 선택, 또한이를 계산하는 비효율적 인 방법처럼 보인다) using : nth-of-type은 행의 순서가 변경 될 때 테이블이 다른 필드로 정렬되는 경우 잘못된 결과를 반환합니다.

누구든지 내가 원하는 것을 성취 할 수있는 강력한 기능을 제안 할 수 있습니까?

+1

은'<>'을 클릭하고 내가 예를 게시해야하는 이유 [mcve] – mplungjan

+0

확실하지 게시하시기 바랍니다 -이 선택하고 jQuery를하고 컨텍스트를 사용하여 필터링 요소가 잘 설명되어 있습니다에 대한 간단한 질문은 내 개막 문단. –

+0

@TomHeaps 실제 html의 스핀이 도움이 될 것입니다. – nurdyguy

답변

1

선택기를 사용하여 빈 필드를 일치시킨 다음 필터 함수를 사용하여 ID가 ​​배열에 있는지 테스트합니다.

var bedIds = ['SR1', 'SR2', 'B1', 'B2', 'C10', 'C11']; 
var emptyBeds = $('.tabulator-row:has([tabulator-field="name"]:empty) [tabulator-field="id"]').filter(function() { 
    return bedIds.indexOf(this.textContent) != -1; 
}).length; 
+0

귀하의 신속한 반응에 감사드립니다.이 코드는 필자가 작성한 것보다 훨씬 더 나은 방법으로 필요로하는 것입니다. –

관련 문제