2011-03-26 3 views
1

저는 현재 200 개가 넘는 항목이있는 "플랫"드롭 다운 선택 도구가 있습니다. 문제는 목록이 실제로 데이터 계층 구조이므로 데이터 계층을 표시 할 수있는 선택 도구가 있는지 사람들이 각 항목이 전체 목록에 들어갈 수있는 곳을 볼 수 있는지 확인하고자했습니다. 그것은 이런 식으로 뭔가 보여줄 것 때문에계층 적 데이터를위한 최상의 jquery 다중 선택 피커는 무엇입니까

는 지금은 레벨을 연결하고있다 :

level 1 --> level 2 
level 1 --> level 2 
level 1 --> level 2 --> level 3 

을하지만 쉽게 목록에서 직접 선택을 만들 수있는 더 나은 UI 위젯이 될 줄 알았는데 경우 목록 자체 데이터의 수준이 다릅니다.

답변

1

당신이 아이 일 때 선택 -의 - 조상을 변경하는 예를 들어, 최신 버전을 사용하고, 당신은 당신의 정확한 요구에 쉽게 사용자 정의 할 수 있습니다 1

Checkbox Tree

편집을 시도 제공 선택된. 아래를 참조

(라인 45 checkboxtree.js의 이후)

 onCheck: { 
      /** 
      * Available values: null, 'check', 'uncheck', 'checkIfFull' 
      */ 
      ancestors: 'check', /* <--- CHANGE THIS */ 
      /** 
      * Available values: null, 'check', 'uncheck' 
      */ 
      descendants: 'check', 
      /** 
      * Available values: null, 'collapse', 'expand' 
      */ 
      node: '', 
      /** 
      * Available values: null, 'check', 'uncheck' 
      */ 
      others: '' 
     }, 

편집 2

당신은 문제가이 확인 작업을 받고있는 경우 :

  • 을 당신 have jquery.checkboxtree.js version 0.5 [버전은 파일의 8 번째 줄에 있습니다. ].
  • 하는 소스 코드를 변경 ''

에 당신이 'check'을 변경했는지 확인 축소 된 버전

  • 를 로컬 복사본을 참조, 그리고 외부 버전을, 그리고되는 것은 아마도 최고의 아니다 연습. 당신은 거의 this page의 탭 7에 그런 예를 찾을 수 있습니다

    $('#tree7').checkboxTree({ 
         onCheck: { 
          ancestors: '', 
          descendants: 'check' 
         }, 
         onUncheck: { 
         ancestors: 'uncheck' 
         } 
        }); 
    

    하고는 'checkIfFull' 옵션으로 작동하는지 볼 수있는 매개 변수를 변경하는 공식적인 방법은 다음과 같은 코드를 사용합니다. 나를 위해 '' 옵션도 작동합니다.

  • +0

    노드 1을 검사 할 때 루트가 검사되는 이유는 무엇입니까? 노드 1 만 원하면 루트를 확인하지 마십시오. 왜 이런 식으로 작동하는지 당신이 알고 있습니까 ?? – leora

    +0

    감사합니다.API는 의미가 있지만 실제로 작동하지 않는 것 같습니다. 내가 선택하는 옵션이 무엇이든 관계없이 "확인"모드에있는 것처럼 보입니다. – leora

    +0

    @ooo - 저에게 맞습니다. EDIT 2에서 제안을 시도하십시오. –

    0

    계단식 드롭 다운 목록이 적합 할 것 같은데. 사용자가 드롭 다운에서 상위 수준을 선택하고 하위 항목 등을 포함하는 다른 드롭 다운 목록과 함께 표시됩니다. 이들은 Ebay와 같은 위치에 통용된다.

    Stephen Walther has an old post 당신을 시작할 수있는 기초에.

    각 목록에 대해 서버로 Ajax 호출을 다시 수행 할 필요는 없습니다. 별도의 JavaScript 파일에서 JSON 객체의 전체 목록을로드하고 JQuery 플러그인을 사용하여 드롭 다운을 만들고로드 할 수 있습니다. 빠른 검색은 this one이지만 많은 사람들이 있다고 확신합니다.