2011-10-04 2 views
0

을 사용하여 양식에 나타나는 모든 html 요소 (이름 또는 ID)를 가져옵니다. 나는 몇 가지 html 양식 (classic asp back)을 가지고 있으며 일반 html 요소와 고전적인 asp 동적 확인란을 사용합니다.javascript

우리는이 보고서를 작성하고 피벗 테이블을 만들려고하므로 양식에 나타나는 순서대로 html 객체 (정적 및 동적)의 모든 이름 또는 ID (이름이 아마도 더 낫습니다)의 목록을 제공해야합니다. . 일부는 사용자가 종속 객체 (사용자가 원하는 객체)와 상호 작용할 때까지 숨겨집니다.

나는 모든 수업을 끝내는 것에 관한 여러 게시물을 발견했으나 순서가 매우 중요하기 때문에이 정확한 답변을 찾을 수있었습니다!

jQuery가 이미 페이지에서 사용되고 있으므로 잘 사용할 수 있습니다.

미리 감사드립니다. 두 옵션

+1

; 어디서 시작 했니? 어떻게 된거야? 무엇이 잘못 되었습니까? –

+0

주의 : 화면에 나타나는 순서가 항상 HTML의 순서는 아닙니다. 소리가 까다 롭습니다. –

+0

나는 이미 양식과 동적 체크 박스 (ms sql)를 만들었습니다. 드롭 다운에서 '기타'를 선택할 때 표시되는 숨겨진 텍스트가 몇 가지 있습니다. html 양식을 작성한 다음 올바르게 게시하고 저장하는 것으로 시작했습니다. 그런 다음 동적 확인란을 추가하고 필요한 필드에 js 유효성 검사를 수행 했으므로 이제보고를 준비해야합니다. 모든 것이 잘 돌아갔습니다. (약간 회선이 얽혀 있습니다.) 그러나이 보도 자료는 저에게 슬픔을 안겨주고 있습니다! – Antoni

답변

1

사용 #myForm 내 요소 아이디/이름 목록을 만들 수 있습니다 : 당신이 DOM 요소의 목록을 얻으려면

var orderedArrayId = []; 
$("#myForm *[id]").each(function(){ 
    orderedArrayId.push(this.id); 
}) 

var orderedArrayName = []; 
$("#myForm *[name]").each(function(){ 
    orderedArrayName.push(this.name); 
}) 

대신 .push(this.id)를 사용, 당신은 또한, .push(this) 사용할 수 있습니다.

이 코드를 실행 한 후, 당신이 할 수있는 모든 요소를 ​​통해 루프 :

상당히 포괄적 할당 같은 소리
$.each(orderedArrayId, function(index, element){ 
    //element holds the ID of the element 
    // (or a reference to the DOM element, if you've used `.push(this)` instead 
    //  of `.push(this.id)`) 
    //Do something 
}); 
+0

이 작동합니다. 거의. 나는 아마 조금 더 설명해야했지만 필요하다고 생각하지는 않았다. 나는 1 개의 마스터 페이지 (main.asp)를 가지고 있으며 그 안에 form tag name/id = frmMain이있다. 그 밑에 나는 몇몇 고전적인 ASP 스파게티 논리를하고 그 후에 적당한 html/asp 모양을 포함한다. ' ' 나는이 include 파일 내의 html 객체가 스크립트에 의해 잡힐 것으로 생각하지 않는다. frmMain에는 있지만 include에는 없습니다. 팁이 있습니까? – Antoni

+0

그래서 여러 가지 양식이 있습니까? 각 양식을 반복하십시오. –