확장 가능한 [트리보기] 다중 선택 드롭 다운 목록은 어떻게 얻을 수 있습니까?확장 가능 다중 선택 드롭 다운 목록
예를 들어 아래의 스냅 샷에서 Animals [Cat, Cow etc.]의 하위 목록에 + 기호가 표시되고 클릭 될 때와 같은 플러그인이 있으면 하위 목록이 다음과 같이 표시됩니다. 같은 드롭 다운 트리보기처럼?
어떤 조언을 ?
확장 가능한 [트리보기] 다중 선택 드롭 다운 목록은 어떻게 얻을 수 있습니까?확장 가능 다중 선택 드롭 다운 목록
예를 들어 아래의 스냅 샷에서 Animals [Cat, Cow etc.]의 하위 목록에 + 기호가 표시되고 클릭 될 때와 같은 플러그인이 있으면 하위 목록이 다음과 같이 표시됩니다. 같은 드롭 다운 트리보기처럼?
어떤 조언을 ?
혼자만의 선택 태그, 나 네가 할 수 없다는 걸 알아라. 귀하의 경우, 사용자 정의 된 선택 상자를 작성해야합니다.
내 예제 솔루션을 사용하면 원하는 정확한 것을 제공하지 못했을 것입니다. 질문에 대답하는 데 도움이 될 수있는 간단한 예를 드리겠습니다. 이것은 사용자 정의 된 선택 상자를 작성하는 것입니다.
사용자 정의 선택 박스
사용자 정의 된 선택 상자 만드는 방법 :
목록의 컨테이너가 될 것이다 사업부를 작성합니다.
<div id="treeSelect">
은 선택 상자처럼 행동 할 DIV에 스타일을 추가합니다.
#treeSelect{height: 100px;width: 150px;border: 1px solid #000;overflow: auto;}
<span class="mainList">All</span>
<br />
<span class="expand" onClick="expand('animals', this);">[+]</span><span class="mainList">Animals</span>
<br />
<ul id="animals" class="subList">
<li><input type="checkbox" name="animals" value="Cat">Cat</li>
<li><input type="checkbox" name="animals" value="Cow">Cow</li>
<li><input type="checkbox" name="animals" value="Cat">Dog</li>
</ul>
하위 목록을 보는 방법을 처리하는 스크립트를 추가하십시오.
기능 확장 (목록보기) {
var listElement = document.getElementById(list);
var defaultView = '[+]';
if(view.innerHTML == defaultView){
listElement.style.display = "block";
view.innerHTML = '[-]';
} else {
listElement.style.display = "none";
view.innerHTML = '[+]';
}
}
나는 모든 코드 그래서 전체 코드의 jsfiddle를 참조하십시오 넣을 수 없습니다.
나는 이것이 당신이 원했던 정확한 것이 아니라는 것을 알고 있지만, 그것이 당신이 필요로하는 것에 가깝다고 생각합니다. 당신의 취향과 필요에 따라 스타일을 바꿀 수 있습니다. 나는 이것이 도움이 될 수 있고 당신의 질문을 해결하는 방법을 알기를 바랍니다.
이것은 내가보고있는 것과 비슷합니다! 하지만 부모 요소를 선택할 수없는 문제가 하나 있습니다. JS 트리 플러그인은 갈 길입니다.하지만 체크 박스가 마음에 들지 않습니다. 다중 선택 목록을 선호합니다. – jagamot
일부 수정 및 추가 CSS & JS를 사용하면 원했던 모양을 얻을 수 있습니다. 원했던 것처럼 많이 만들지 않았습니다. 할 일이 많기 때문입니다. 부모와 함께 체크 박스를 추가 할 수도 있습니다. 알아요. 체크 박스에 대해 물어볼 것이지만, 다중 선택과 같이 할 시간이 없다. 체크 박스를 숨기고, 체크 할 박스에'onClick' 이벤트를 추가하면된다. 그것을 선택하지 않으면''배경을 바꿉니다. 아직해야 할 일이 많지만, 이것은 좋은 시작입니다. 나머지 부분은 관리 할 수 있기를 바랍니다. – ace
당신은 treeview plugin 또는이 도움이 jsTree plugin
희망을 사용할 수 있습니다. 건배
그러나 내가 찾고있는 것은 순전히 다중 SELECT 드롭 다운 목록입니다. 이상적으로, 나는 하위 드롭 다운을 표시하고 해당 하위 목록을 표시 할 수 있지만 선택할 수있는 트리보기와 같은 기능을 제공하지 않도록하고 싶습니다! – jagamot
사용자가이 플러그인에서 노드를 클릭 할 때 일부 히든을 만들거나 삭제할 수 있습니다. 나는 당신이 물어 보는 기능을 가진 다중 선택 인 내장 컨트롤을 모른다. –
당신은 그 아이들이 기본적으로 숨겨져 각 메인 카테고리에 대한 <optgroup>
을 사용할 수 있으며, <optgroup>
레이블을 클릭하면 단순히 아이 <option>
(들)을 숨기기를 취소 할 수 있습니다. 다음과 같은
뭔가 : 당신의 CSS에서
:
#categories optgroup option { display: none; }
당신의 HTML에서 :
<select name="categories" id="categories">
<optgroup label="+ Animals">
<option value="bird">Bird</option>
<option value="dog">Dog</option>
<option value="cat">Cat</option>
</optgroup>
</select>
을 (jQuery를 사용하여) 자바 스크립트에서 :
$('#categories > optgroup').click(function(){
$(this).children().toggle();
});
어떻게 IE 6에서 작동하지 않는 것 같은지 !! – jagamot
그리고 하위 목록 요소를 선택하려고하면 그냥 전환됩니다! – jagamot
@HonorGod 아 optgroups를 사용해 본지 너무 오래되었습니다. CSS를 통해 실제로 액세스 할 수 없으므로 아마 작동하지 않을 것입니다. 위에서 언급 한 treeview 플러그인이나 jsTree 플러그인과 같은 것을 사용하는 것이 더 좋으며 단순히 다중 선택과 같은 모양으로 트리를 스타일링하는 것보다 간단하지만 클릭 할 때 폼 값을 변경하기 위해 작업을 바인드하는 것이 좋습니다. – musicinmyhead
존재하는 플러그인에 대해 의문의 여지가 있지만 구현하기가 너무 어려워서는 안됩니다. – qwertymk
동의합니다. JQueryUI가 가지고있다. YUI도 가지고 있습니다. – Mohsen