2011-05-16 3 views
1

동적으로 생성되는 아래 표에서 JavaScript DOM을 사용하여 HTML 컨트롤 (input, select, textarea)을 탐색하고 찾으려고합니다. 나는 span과 div 값을 원하지 않는다.JavaScript를 사용하여 HTML에서 입력을 찾습니다.

아무도 트래버스하는 방법에 대한 아이디어를 줄 수 있습니까?

$('input','select','textarea') 

이것은 모든 입력을 선택하고 텍스트 영역 요소의 jQuery를 수집을 반환합니다

<html> 
    <head>Html</head> 
     <body> 
      <tr> 
        <td> 
        <div id="one"></div> 
        </td> 
        <td> 
         <input type="text" name="textbox" id="txtid" value=10"/> 
        </td> 
        <td> 
         <select id="cuskstatus" name="cuskstatus" class="selectStyleBorder"> 
           <option selected value="LOCAL">Local</option> 
           <option value="GLOBAL">Global</option> 
         </select> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <textarea id="tareaid" name="" value="10"/> 
        </td> 
        <td> 
         <span id="span1">value</span> 
        </td> 
       </tr> 
      </body> 
    </html> 
+0

항목 순서가 중요하지 않으면'document.getElementByTagName'을 사용할 수 있습니다. – sitifensys

+0

jQuery를 사용하거나 일반 JavaScript로만 사용할 수 있습니까? – drudge

+0

@jnpcl javascript가 훨씬 좋지만 jquery는 괜찮습니다. –

답변

0

적용 jQuery를 사소한 문제를 만든다.

+1

페이지에 몇 개의 요소를 수집하기 위해 전체 라이브러리를 포함하는 것은 좋은 해결책이 아닙니다. – Teneff

+0

좋은 것은 주관적입니다. 올바른 도구를 사용하여 신속하게 작업을 수행한다는 실용적인 관점에서 볼 때 훌륭한 솔루션입니다. –

+2

프로젝트에 jQuery를 이미 사용하고 있다면 jQuery를 사용하는 것이 좋습니다. 이것을하기 위해 jQuery를 포함시키는 것은 마치 핵무기로 토끼를 사냥하는 것과 같습니다. –

4

난 그냥 form.elements를 사용, 일반 자바 스크립트에서이

var desired_tag_names = new Array('select', 'input', 'textarea'); 

function getElements(e) { 
    var elements = new Array(); 
    for (i=0; i<e.length; i++) { 
     var el = document.getElementsByTagName(e[i]); 
     for (j=0; j<el.length; j++) { 
     elements.push(el[j]); 
     } 
    } 
    return elements; 
} 

var all_the_desired_elements = getElements(desired_tag_names); 
+0

@teneff 감사하지만 요구 사항은 우리가 모든 html 컨트롤을 가져와 다음 행으로 전환해야하는 행을 취하는 경우입니다 ... 의심의 여지가 있는지 알려주세요 ... –

+0

@BALA 수정 확인 – Teneff

+0

@teneff하시기 바랍니다. 이 getElements (document.getElementById ('row199'), desired_tag_names)를 설명하십시오. 내가 처음으로 js ... –

1

처럼 그것을 할 것입니다.

var inputs = document.getElementById("formid").elements; 
// ... 

아니면, 당 양식으로 문서의 모든 형태를 통과 할 경우 단지 첫번째 모든 형태를 얻을 수 document.forms를 사용

당신이 <form id="formid">를했습니다한다고 가정.

for (var i = 0; i < document.forms.length; i++) { 
    var form = document.forms[i]; 
    var inputs = form.elements; 
    // ... 
} 

이미 :input 선택기를 사용 jQuery를 사용하거나에게 개방되어있는 경우.

var $inputs = $(':input'); 
// ... 
관련 문제