Как включить/отключить bootstrap selectpicker с помощью флажка ickeck
здесь selectpicker
возле checkbox
. Я хочу, если стоит галочка, selectpicker будет включить, если отключена, selectpicker будет отключить.
Я написал Это, которое не работало ( вот скрипка ):
$('.checkBox').on('ifChecked', function(event) {
$(this).parents('.clearfix').find('.selectpicker').removeAttr('disabled');
});
$('.checkBox').on('ifUnchecked', function(event) {
$(this).parents('.clearfix').find('.selectpicker').attr('disabled');
});
2 ответов
вы должны обновить selectpicker, как только изменение будет сделано
вот работает скрипка
код для обновления пользовательского интерфейса
$('.selectpicker').selectpicker('refresh');
для получения дополнительной информации см. DOCS
еще одна ошибка, которую я нашел, чтобы отключить, вы должны использовать
attr('disabled',true)
не
attr('disabled')
Если ваш выбор выбора имеет более чем несколько вариантов, текущий принятый ответ невероятно медленный. (может вызвать зависание около половины секунды, что слишком долго, чтобы просто сделать что-то отключенным.)
Это сработало для меня:
отключить:
$("#yourSelect").prop("disabled", true);
$(".selectpicker[data-id='yourSelect']").addClass("disabled");
включить:
$("#yourSelect").prop("disabled", false);
$(".selectpicker[data-id='yourSelect']").removeClass("disabled");
Это также имеет дополнительный бонус на самом деле показывает, что значение выбор был, когда он был отключен. (что является поведением select коробки)
Я немного удивлен, что официальная документация предлагает использовать refresh
просто чтобы отключить его, это занимает слишком много времени.