programing

div 요소의 모든 자식 입력을 가져오는 방법(jQuery)

bestprogram 2023. 8. 5. 10:45

div 요소의 모든 자식 입력을 가져오는 방법(jQuery)

HTML:

<div id="panel">
  <table>
    <tr>
       <td><input id="Search_NazovProjektu" type="text" value="" /></td>
    </tr>
    <tr>
       <td><input id="Search_Popis" type="text" value="" /></td>
    </tr>
  </table>
</div>

특정 div의 모든 입력을 선택해야 합니다.

작동하지 않습니다.

var i = $("#panel > :input");

다음 값보다 큰 값 없이 사용:

$("#panel :input");

>깊이에 관계없이 모든 자식을 원하는 경우 공백을 사용하여 요소의 경우 요소의 직접 자식만 사용합니다.

필요합니다

var i = $("#panel input"); 

또는 정확히 원하는 것에 따라(아래 참조)

var i = $("#panel :input"); 

>아이들에게만 제한될 것입니다, 당신은 모든 후손을 원합니다.

편집: 닉이 지적했듯이, 사이에는 미묘한 차이가 있습니다.$("#panel input")그리고.$("#panel :input).

첫 번째는 형식 입력의 요소만 검색합니다. 즉,<input type="...">하지만 아닙니다.<textarea>,<button>그리고.<select>요소들.고마워요, 닉, 저도 몰랐고 제 게시물을 수정했어요.두 가지 옵션을 모두 남겼습니다. 왜냐하면 OP도 그것을 몰랐고 기술적으로 입력을 요청했기 때문입니다. :-)

'찾기' 메서드는 캐시된 컨테이너의 모든 자식 입력을 가져와 다시 검색하는 것을 저장할 수 있습니다('자녀' 메서드는 직접 자식만 가져옵니다).

var panel= $("#panel");
var inputs = panel.find("input");

Ruby on Rails 또는 Spring MVC와 같은 프레임워크를 사용하는 경우 사각형 대괄호 또는 사용할 수 없는 다른 문자가 있는 div를 사용해야 할 수 있습니다.document.getElementById이 솔루션은 동일한 유형의 입력이 여러 개 있는 경우에도 작동합니다.

var div = document.getElementById(divID);
$(div).find('input:text, input:password, input:file, select, textarea')
        .each(function() {
            $(this).val('');
        });
$(div).find('input:radio, input:checkbox').each(function() {
    $(this).removeAttr('checked');
    $(this).removeAttr('selected');
});

이 예에서는 입력을 지우는 방법을 보여 줍니다. 예를 들어 입력을 변경해야 합니다.

제 접근 방식은 다음과 같습니다.

당신은 그것을 다른 행사에서 사용할 수 있습니다.

var id;
$("#panel :input").each(function(e){	
  id = this.id;
  // show id 
  console.log("#"+id);
  // show input value 
  console.log(this.value);
  // disable input if you want
  //$("#"+id).prop('disabled', true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="panel">
  <table>
    <tr>
       <td><input id="Search_NazovProjektu" type="text" value="Naz Val" /></td>
    </tr>
    <tr>
       <td><input id="Search_Popis" type="text" value="Po Val" /></td>
    </tr>
  </table>
</div>

var i = $("#panel input");

작동해야 합니다 :-)

> 직접 어린이만 데려올 것이며 어린이의 어린이는 데려올 수 없습니다.
:는 의사 접두사를 사용하기 위한 것입니다(예: :sys 등).

당신은 여기에서 의사-스킬러의 사용 가능한 css-selector에 대해 읽을 수 있습니다: http://docs.jquery.com/DOM/Traversing/Selectors#CSS_Selectors

언급URL : https://stackoverflow.com/questions/2402707/how-to-get-all-child-inputs-of-a-div-element-jquery