반응형
jQuery: 선택한 라디오 버튼에 대해 부모 tr 가져오기
나는 다음 HTML을 가지고 있습니다.
<table id="MwDataList" class="data" width="100%" cellspacing="10px">
....
<td class="centerText" style="height: 56px;">
<input id="selectRadioButton" type="radio" name="selectRadioGroup">
</td>
....
</table>
즉, 테이블에 행이 몇 개 없고 마지막 셀의 각 행에 라디오 버튼이 있습니다.
선택한 라디오 단추의 상위 행을 가져오려면 어떻게 해야 합니까?
시도해 본 내용:
function getSelectedRowGuid() {
var row = $("#MwDataList > input:radio[@name=selectRadioGroup]:checked :parent tr");
var guid = GetRowGuid(row);
return guid;
}
그런데 이 셀렉터가 틀린 것 같습니다.
이거 먹어봐요.
특성 이름의 접두사는 다음과 같이 지정할 필요가 없습니다.@
jQuery selector. 사용closest()
선택기에 일치하는 가장 가까운 부모 요소를 가져오는 방법.
$("#MwDataList input[name=selectRadioGroup]:checked").closest('tr');
이렇게 방법을 단순화할 수 있습니다.
function getSelectedRowGuid() {
return GetRowGuid(
$("#MwDataList > input:radio[@name=selectRadioGroup]:checked :parent tr"));
}
closest()
- 현재 요소에서 시작하여 DOM 트리를 통해 위쪽으로 진행하는 선택기와 일치하는 첫 번째 요소를 가져옵니다.
참고로, 요소의 ID는 페이지에서 고유해야 하므로 마크업에서 볼 수 있는 라디오 버튼에 대해 동일한 ID를 갖지 않도록 하십시오.ID를 사용하지 않을 경우 마크업에서 제거하기만 하면 됩니다.
정답.
$("#MwDataList input[name=selectRadioGroup]:checked").closest('tr');
가장 가까운 줄을 찾는 방법은?
사용..closest()
:
var $row = $(this).closest("tr");
사용..parent()
:
이 방법을 확인합니다.이것은 A의 대안입니다..prev()
그리고..next()
.
var $row = $(this).parent() // Moves up from <button> to <td>
.parent(); // Moves up from <td> to <tr>
모든 테이블 셀 가져오기
var $row = $(this).closest("tr"), // Finds the closest row <tr>
$tds = $row.find("td"); // Finds all children <td> elements
$.each($tds, function() { // Visits every single <td> element
console.log($(this).text()); // Prints out the text within the <td>
});
특정 항목만 가져오기
var $row = $(this).closest("tr"), // Finds the closest row <tr>
$tds = $row.find("td:nth-child(2)"); // Finds the 2nd <td> element
$.each($tds, function() { // Visits every single <td> element
console.log($(this).text()); // Prints out the text within the <td>
});
유용한 방법
- -
.closest()
선택기와 일치하는 첫 번째 요소를 가져옵니다. - -
.parent()
현재 일치하는 요소 집합에 있는 각 요소의 상위를 가져옵니다. - -
.parents()
현재 일치하는 요소 집합에 있는 각 요소의 조상을 가져옵니다. - -
.children()
일치하는 요소 집합에 있는 각 요소의 자식을 가져옵니다. - -
.siblings()
일치하는 요소 집합에 있는 각 요소의 형제를 가져옵니다. - -
.find()
현재 일치하는 요소 집합에 있는 각 요소의 하위 요소 가져오기 - -
.next()
일치하는 요소 집합에서 각 요소의 바로 다음 형제를 가져옵니다. - -
.prev()
일치하는 요소 집합에서 각 요소의 바로 앞 형제를 가져옵니다.
언급URL : https://stackoverflow.com/questions/9314902/jquery-get-parent-tr-for-selected-radio-button
반응형
'programing' 카테고리의 다른 글
Kubernetes 비밀 해독 (0) | 2023.10.06 |
---|---|
GitLab에서 사용자 지정 Composer 패키지 설치 (0) | 2023.10.06 |
CSS 역할 스타일 지정 방법 (0) | 2023.10.06 |
브라우저가 닫힐 때 만료되는 PHP 세션 쿠키 (0) | 2023.10.06 |
C#로 XML에서 모든 네임스페이스를 제거하는 방법은? (0) | 2023.10.06 |