I는 다음과 같습니다 테이블이 있습니다jQuery를 - 보여 테이블에 여러 행의 레이블과 입력을 숨기는 방법을
<table id="tblBranchCoverage" class="hideOnLoad" width="100%">
<tr class="coverageRow" style="cursor: pointer;">
<td class="countyCovered" width="115px">
<label class="branchCountyCovered coverageDisplay">Douglas</label>
<input type="text" class="edit editBox editCounty" style="display: none; width: 111px;" value="Douglas"><br>
<input type="submit" class="button edit submitCoverageEdits" style="display: none;" value="Save Changes"><br>
<input type="submit" class="button edit cancelCoverageEdits" style="display: none;" value="Cancel">
</td>
<td class="stateCovered" width="30px">
<label class="branchStateCovered coverageDisplay">GA</label>
<input type="text" class="edit editBox editState" style="display: none; width: 22px;" value="GA" max-length="2">
</td>
<td class="zipsCovered">
<label class="branchZipsCovered coverageDisplay">30122, 30133, 30134, 30135, 30154, 30187</label>
<textarea class="edit editBox editZips" style="display: none;" cols="100">30122, 30133, 30134, 30135, 30154, 30187</textarea>
</td>
</tr>
<tr class="coverageRow">
<td class="countyCovered" width="115px">
<label class="branchCountyCovered coverageDisplay">Forsyth</label>
<input type="text" class="edit editBox editCounty" style="display: none; width: 111px;" value="Forsyth"><br>
<input type="submit" class="button edit submitCoverageEdits" style="display: none;" value="Save Changes"><br>
<input type="submit" class="button edit cancelCoverageEdits" style="display: none;" value="Cancel">
</td>
<td class="stateCovered" width="30px">
<label class="branchStateCovered coverageDisplay">GA</label>
<input type="text" class="edit editBox editState" style="display: none; width: 22px;" value="GA" max-length="2">
</td>
<td class="zipsCovered">
<label class="branchZipsCovered coverageDisplay">30028, 30040, 30041</label>
<textarea class="edit editBox editZips" style="display: none;" cols="100">30028, 30040, 30041</textarea>
</td>
</tr>
</table>
내가 (행을 찾아 테이블의 행을 반복 할 필요를 최대 하나만 존재할 것입니다. 그러나 "display : none"으로 설정된 클래스 "edit"가있는 요소가있는 모든 행에 레이블이 표시되고 숨겨진 입력이있을 수 있습니다. 해당 행이 발견되면 .edit 요소를 숨기고 레이블을 표시해야합니다 (이 때 스타일은 "display : none"으로 설정됩니다).
나는이 컨텍스트 내에서이 일을 해요: 행에 사용자가 클릭 테이블의 다른 모든 행이 숨겨진 .edit 요소를 가지고 때
$('#tblBranchCoverage').on('click', 'tr', function() {
그래서, 기본적으로 라벨 표시와에 클릭 된 행 편집 요소가 표시되고 레이블이 숨겨집니다.
나는 그것이 작업에 들어 왔 가장 가까운 이것이다 :
정말로 "가까이"전혀, 숨겨진 요소를 모두 얻을 수에 클릭 행 이후 아니다$(this).parent().find('tr td').each(function() {
$(this).find('.edit').hide();
$(this).find('.coverageDisplay [style*="display: none"]').show();
});
$(this).find('.coverageDisplay').fadeOut(200);
$(this).find('.edit').delay(200).fadeIn(200);
});
.
나는 이것을 두 시간 동안 어지럽 혔다. 나는 약간의 도움을 정말로 좋아할 것이다!
감사합니다.
[편집] 요청에 따라 다음은 jsFiddle입니다.
JSFiddle을 만드시겠습니까? –