2011-02-07 4 views
1

비교 차트와 같은 테이블을 구현하려고하는데, 선택 가능한 객체의 큰 목록은 내가 필요한 몇 가지 기능 변경 사항을 제외하고는 완벽하게 작동합니다. 나는이 두 가지가 이전의 질문에서 다루어 졌음을 알았지 만 그것들 모두는 완전한 해결책을 제공하지 못한다.기본적으로 jQueryUI 다중 선택이 선택 상태로 전환됩니다.

This question은 기본적으로 다중 선택 동작을 처리했지만 아무 것도 제공하지 않고 '나 혼자서 했어'라고 말합니다. 선택 가능한 내부 구조를 살펴보면,! event.metaKey 조건을 가지고 놀면 너무 많은 문제없이 찾고있는 동작을 얻을 수 있지만 편집과 관련없는 해결책이 있는지 궁금해하고 있습니다. 내부.

마찬가지로 this page은 내가 원하는 올가미 토글 효과를 처리하지만 코드에서 올가미 기능이 변경되고 나머지 스크립트 (정렬 가능한 기능)가 크롬에서 작동하지 않는 것으로 확인됩니다. 또는 IE8 (link)이 시점으로 구식이며, 전적으로 전체에 의존하지 않을 것입니다.

누구든지이 중 하나를 도와 주면 감사하겠습니다. 감사합니다

[편집] 포맷 ...

+0

잠시 후 'Enter'를 누르십시오 ... – davin

+0

죄송합니다. 그래도 가져 주셔서 감사합니다. – EvilAmarant7x

답변

2

내가 여기이 할 수있는 더 나은 방법이있을거야,하지만 내가 선택의 js 파일 내에했던 한 내용입니다. 항상 다중 선택을 위해

는 :

나는 옵션을 추가 한 'alwaysMulti'(거짓 기본값). 그런 다음 !event.metaKey의 세 인스턴스를 (!event.metaKey && !options.alwaysMulti)으로 바꾸고 두 인스턴스 인 event.metaKey(event.metaKey || options.alwaysMulti)으로 바꿨습니다.

선택 상태를 전환하려면 선택 사항 올가미를 얻으려면 링크 된 두 번째 페이지에서 필요한 변경 사항을 발견했습니다. 또한이 기능을 실행하기위한 옵션 'lassoToggle'(기본값은 false)을 추가했습니다. _mouseDrag 내에서,이 다음과 같이 변경됩니다, 조건 if (hit)가 :

if (hit) { 
       // SELECT 
       selectee.deselect = false; 
       if (selectee.selected || (options.lassoToggle && (selectee.startselected && event.metaKey)) { 
        selectee.$element.removeClass('ui-selected'); 
        selectee.selected = false; 
        selectee.deselect = true; 
       } 
       if (selectee.unselecting) { 
        selectee.$element.removeClass('ui-unselecting'); 
        selectee.unselecting = false; 
       } 
       if (!selectee.selecting && (!options.lassoToggle || !selectee.deselect) { 
        selectee.$element.addClass('ui-selecting'); 
        selectee.selecting = true; 
        // selectable SELECTING callback 
        self._trigger("selecting", event, { 
         selecting: selectee.element 
        }); 
       } 
       if(selectee.deselect && options.lassoToggle) { 
        selectee.$element.removeClass('ui-selecting'); 
        selectee.selecting = false; 
        selectee.$element.addClass('ui-unselecting'); 
        selectee.unselecting = true; 
        // selectable UNSELECTING callback 
        self._trigger("unselecting", event, { 
         unselecting: selectee.element 
        }); 
       } 
      } 

참고 : 다중 선택에 대한 event.metaKey 변화는 코드 샘플에 있지 않습니다.

이 정보가 도움이 되었기를 바랍니다.