2011-09-21 5 views
0

selectboxes를 디자인하는 jQuery 플러그인을 개발 중입니다. ATM은 모든 HTML이 작성되고 문서가 준비되면 숨겨집니다. 사용자가 클릭하면 생성 된 코드가 표시됩니다. 하지만 W3C 규칙을 숨기고 있기 때문에 (내부에 블럭 레벨 요소가 있음) 내부에 숨겨져 있고 감싸여있을 것입니다. 그리고 아마도 on-the-fly 기반 옵션 목록을 만들고 추가해야할까요? 나쁜가요? 느린? 나쁜/좋은 연습?즉석에서의 JavaScript 함수와 inital

감사합니다. 준비 문서는

<p> 
<select> 
    <option value="1">Value</option> 
    <option value="2">Value</option> 
</select> 
</p> 

후 : 문서 구조가 유효하지 않은 경우

<p> 
<span class="selectwrap"> 
    <a tabindex="0" class="select">Value</a> 
    <ul class="selectbox" style="display: block;"> 
     <li>value</li> 
     <li>value</li> 
    </ul> 
    <select style="display: none;"> 
     <option value="1">Value</option> 
     <option value="2">Value</option> 
    </select> 
</span> 
</p> 
+0

''ul'을'p' 안에 넣을 수 없습니다. –

+0

알아,하지만 일단 유효한 문서가로드되면 JS는 각 선택에 대해 이것을 생성합니다. 문제는 문서가로드 된 후 각 select 요소에 대한 코드를 생성하는 것이 좋습니다. 사용자가 클릭 할 때 특정 select에 대한 코드를 생성해야합니다. – fallenboy

+1

다릅니다. 나의 첫 번째 질문은 클라이언트 측에서 생성하지 않는 것이 바람직한 이유인지 여부이다. 두 번째 질문은 잘못된 HTML을 생성 할 좋은 이유가 있는지 여부입니다.이 경우 div 태그가 이와 같은 작업을 수행 할 때 만들어집니다. * 그런 다음 * 초기로드 또는 주문형에서 select를 생성해야하는지 여부를 묻습니다. 사용자가 선택 상자로 아무 것도하지 않으면 선택을 전송할 이유가 없다면 아마 중요하지 않을 것이지만, 또한 얼마나 많은가에 달려 있습니다. –

답변

0

, 그것은 문제가 당신이 그것을 또는 경우를 작성하지 않는 경우

샘플 코드 :

HTML 아직 숨겨져 있습니다. 그래서 문서 구조를 먼저 고친 다음 그것을 보여주고 숨기는 것이 가장 좋습니다. 아마도 마크 업의 최소한의 예를 게시 할 수 있습니다.

일반적으로 클라이언트 측 처리를 최소화하는 것이 좋으므로 가능한 한 클라이언트에서 작업을 시작하지 마십시오. 특히 이점이없는 경우에만 수행하십시오.