* EDIT * 내용을 정리하십시오. 나는 보여주고 숨길 수있다. 그건 문제가 아니야. 내가 뭘하고 싶은 건 완전히 클래스를 기반으로 테이블 행을 다시 작성하는 것입니다. 처음에 들어 오면 테이블에 수천 개의 행이있을 수 있습니다. 그들은 모두 'both', 'option1'또는 'option2'의 클래스를가집니다. 나는 오직 한 번에 5 개를 보여 주어야하며, 첫 번째, 이전, 다음, 마지막 버튼 클릭을 기준으로 한 페이지를 표시해야합니다. 그러나 일부 테이블 행이 표시되고 일부는 표시되면 안되기 때문에 엄청나게 어려워집니다.jQuery : 필터링 된 데이터에서 테이블 행 다시 작성
그래서 본질적으로 테이블 html을 재구성하기 위해 3 개의 어레이를 갖고 싶습니다. 하나는 모든 행을 가지며, 하나는 Option1 행과 하나는 Option2 행입니다.
바라건대 그것은 좀 더 분명합니다. * END EDIT *
테이블이 만들어져 있고 모든 행이 숨겨져 있습니다. 그런 다음 라디오 버튼 클릭 이벤트에 따라 주어진 기준으로 표의 처음 5 행을 표시합니다.
두 가지 옵션 (옵션 1 또는 옵션 2) 만 있습니다. 각각은 TR에있는 클래스에 내장되어 있습니다.
페이징을 단순화하기 위해 결과를 3 개의 배열로 필터링하고 싶습니다. 1은 모두 1, 옵션 1은 1, 옵션 2는 1입니다. 그러면 tbody를 행으로 바꿉니다.
I, 즉 올바르게 다음 코드를 작동하지 않은 :
var trHTML = $("#resultsBody").html();
var newTable = trHTML.filter(function() { return $(this).css("display") == "none" })
$('#resultsBody').empty().append(trHTML);
을 다음과 같은 HTML로 (선택) : 다음과 같은 HTML (테이블)와
<div id="edit-network" class="form-radio">
<div class="form-item form-type-radio form-item-network">
<input id="edit-network-all" class="form-radio" type="radio" name="network" value="all" checked="checked">
<label class="option" for="edit-network-all">All </label>
</div>
<div class="form-item form-type-radio form-item-network">
<input id="edit-network-access" class="form-radio" type="radio" name="network" value="access">
<label class="option" for="edit-network-access">Access </label>
</div>
<div class="form-item form-type-radio form-item-network">
<input id="edit-network-select" class="form-radio" type="radio" name="network" value="select">
<label class="option" for="edit-network-select">Select </label>
</div>
</div>
:
<div class="result">
<table id="results" width="100%" summary="Dentist search results" title="Dentist search results">
<tbody id="resultsBody">
<tr id="row1" class="both odd" style="display: table-row;">
<th id="this-data">Heading</th>
<th id="that-data">Heading</th>
<th id="other-data">Heading</th>
</tr>
<tr id="row2" class="option2 odd" style="display: table-row;">
<td headers="this-data">something</td>
<td headers="that-data">more data</td>
<td headers="other-data">other data</td>
<tr id="row3" class="option1 odd" style="display: table-row;">
<tr id="row4" class="both odd" style="display: table-row;">
...
...
<tr id="row100" class="both" style="display: none;">
</tbody>
</table>
</div>
제안 사항이 있으십니까? 플러그인은 해결책이 아닙니다. 이것은 매우 구체적인 디자인 사양으로 작동해야하므로이 짐승의 배짱이와 함께 일하고 있습니다.
감사합니다.
편집으로 내 질문을 취소했습니다. 그것이 이전보다 더 분명하다면 ... 어! – user1214670
완전히 다른 방향에서 그것을 가기로 결심했습니다. 나는 더 나은 방법이 있다는 대답에 모두 동의한다. 감사! – user1214670