2016-12-27 5 views
0

여러 개의 select2 드롭 다운 목록 (동일한 옵션 포함)이 있으며 각 옵션을 한 번만 선택할 수 있어야합니다. 선택 2 이벤트 시스템, 드롭 다운 열 때마다 사용Select2 업데이트는 한 번만 사용 중지됩니다.

, 내가 목록을 가서

$('body').on('select2:open', '.resCombo', function (event) { 
    var $el = $(event.target); 
    $el.find('option').removeAttr('disabled'); 
    $('.resCombo').not($el).find('option:selected').each(function (index,el) { 
     console.log($(el).val()); 
     $el.find('option[value="'+ $(el).val() +'"]').attr('disabled','disabled'); 
    }) 
    $el.trigger('change.select2'); 
}); 

은 내가 변경 처음으로 위대한 작품을 다른 드롭 다운의에 선정 된 모든 옵션을 해제 드롭 다운 중 하나에서 무언가,하지만 결코 두 번째 시도에서.

+0

난 당신이 녹아웃 https://codepen.io/DDN-Shep/pen/wBEEEQ – Noman

+0

@Noman 오히려 프로젝트에 다른 lib 디렉토리를 추가하지 않고 그것을 해결할 필요가 있다고 생각합니다. –

답변

1

Select2는 disable 속성을 캐시하고 변경 내용을 수신 대기하지 않습니다. 빠른 수정은 속성을 변경할 때마다 select2를 초기화하는 것입니다. 그들은 아직이 기능을 병합하지 않았지만이 기능에 대한 공개 요청을 가지고 있습니다.

Link to pull request