[javascript] jquery-chosen 드롭 다운 비활성화

선택한 jquery 플러그인 을 사용하여 스타일을 지정하고 기능을 추가 하는 선택 div가 있습니다 (특히 검색). div는 다음과 같습니다.

 <select data-placeholder="add a foobar" id="foobar" style="width: 350px;">
 <option value=""></option>
 </select>

이렇게 선택한 플러그인을 사용하고 있습니다.

 $('#foobar').chosen();

일부 AJAX가로드되는 동안 전체 <select>div 를 비활성화하고 싶습니다 . 아마도 이런 식으로

 $('#foobar').disable()

아니면 이거

 $('#foobar').prop('disabled', true)

나는 당신이 아이디어를 얻은 것 같아요.

이를 수행하는 방법에 대한 아이디어가 있습니까? 나는 물건을 비활성화하기 위해 jquery 관용구를 <select>사용하고, 그 위에 선택된 물건이 아닌 기본 선택을 비활성화하는 비활성화와 같은 여러 가지를 시도 했습니다. 나는 z-index상자를 회색으로 만들기 위해 다른 div를 수동으로 추가하는 데 의지 했지만 이것은 추악하고 버그가 많을 것이라고 생각합니다.

도와 주셔서 감사합니다!



답변

당신은 단지 당신의을 비활성화 select하고 있지만 selected는 그것을 div 및 spans 등으로 렌더링합니다. 따라서 선택을 비활성화 한 후에는 선택 위젯도 비활성화되도록 플러그인을 업데이트해야합니다. 이 방법으로 시도 할 수 있습니다.

$('#foobar').prop('disabled', true).trigger("liszt:updated");

//For non-older versions of chosen you would want to do:

$('#foobar').prop('disabled', true).trigger("chosen:updated");

여기 에서 정보를 찾았습니다

깡깡이

위젯을 업데이트하면 플러그인에서 클릭 또는 기타 이벤트의 바인딩을 해제하고 불투명도를 0.5로 변경합니다. div에 대한 실제 비활성화 상태가 없기 때문입니다.


답변

선택한 최신 버전에서 liszt:updated더 이상 작동하지 않습니다. 다음을 사용해야합니다 chosen:updated.

$(".chosen-select").attr('disabled', true).trigger("chosen:updated")

다음은 JSFiddle 입니다.


답변

PSL은 정확했지만 그 이후로 선택되었습니다.

비활성화를 한 후에 이것을 넣으십시오.

$("#your-select").trigger("chosen:updated");


답변

$('#foobar').prop('disabled', true).trigger("chosen:updated");

이것은 완벽하게 작동합니다 !!!! @chosen v1.3.0


답변

이것을 시도 할 수 있습니다.

$("#foobar").prop('disabled',true).trigger("chosen:updated").chosen('destroy').chosen()


답변

$("chosen_one").chosen({
  max_selected_options: -1
});


답변

$(document).ready(function () {
    $("#foobar").chosen().on('chosen:showing_dropdown',function() {
            $('.chosen-select').attr('disabled', true).trigger('chosen:updated');
            $('.chosen-select').attr('disabled', false).trigger('chosen:updated');
            $('.search-choice-close').hide();
    });
    $('.search-choice-close').hide();
});