런타임시 템플릿을 사용하여 동적으로 빌드 된 HTML 양식이 있습니다. 이는 사용자 작업에 의해 결정됩니다.노드 깊이별로 정렬 한 다음 어떻게 tabindex로 정렬합니까?
각 조각 내에서 지정된 tabindexing에 따라 양식 전체에 탭 인덱스를 설정해야합니다.
이 점을 감안할 때 jQuery에는 세트 내의 항목을 주문하는 방법이 있습니까?
$("input, textarea, select, input:checkbox, input:radio").orderBy("templateIndex, tabIndex");
:
<div name="firstTemplate" templateIndex="0">
<input type="text" name="field0" tabIndex="1" />
<input type="text" name="field1" tabIndex="2" />
<input type="text" name="field2" tabIndex="3" />
</div>
<div name="firstTemplateRpt" templateIndex="1">
<input type="text" name="field0" tabIndex="1" />
<input type="text" name="field1" tabIndex="2" />
<input type="text" name="field2" tabIndex="3" />
</div>
<div name="secondTemplate" templateIndex="2">
<input type="text" name="field0" tabIndex="1" />
<input type="text" name="field1" tabIndex="2" />
<input type="text" name="field2" tabIndex="3" />
</div>
나는 다음 개념의 몇 가지 변화를 사용할 수 있습니다 :이 의사 구조가 좋지 않을까,하지만 난 그것을 달성하는 방법을 알아낼 수 없습니다 다음 인스턴스 뭔가 templateIndex는 폼 내의 템플릿 인덱스이고 tabindex는 템플릿 내의 컨트롤의 tabindex입니다. 서식 파일을 런타임에 양식에 여러 번 추가 할 수있어 수동으로 지정된 탭 색인이 손상 될 수 있습니다.
다른 템플릿 형태로 첨가되면, 배열로 templateIndex 속성 div의 수집 1.
당신은 그 핵심을 가지고 있다고 생각합니다. 나는 그것을 시도 할 것입니다. 문서에서 필드를 이동하지 않으려는 경우, tabindexes를 1에서 * n *까지 순차적으로 실행하도록 조정하고 싶습니다. 여기서 * n *는 필드 수입니다. 나는 네가 나에게 주신 것이 내가 거기에 도착하는 데 도움이 될 것이라고 생각한다. 고마워. – BenAlabaster
그러면 노드를 반복하고 루프 카운터를 기반으로 속성을 추가하면됩니다. 당신은 콜렉션을 사용할 수 있고, 재귀 적으로 DOM을 무제한 (또는 정의하지만 가변적 인) 깊이로 사용할 수 있습니다. 어쨌든. – RobG