Por que desativar o atributo não funciona no Bootstrap-select?
-
21-12-2019 - |
Pergunta
Quero definir o estilo dos formulários, entradas e seleções do meu site.eu usei Inicialização para as entradas e Seleção de bootstrap para seleções e eu verifico para caixas de seleção.O problema é que o iCheck não funciona corretamente com o Bootstrap-select.
Aqui está o teste jsFiddle: http://jsfiddle.net/36Xpf/
Agora, tente marcar a caixa de seleção iCheck, a seleção de bootstrap-select não será desabilitada.Em seguida, marque a caixa de seleção quadrada padrão, a seleção de bootstrap será desabilitada.
Recebo o atributo desativado para selecionar se uma caixa de seleção estiver marcada usando jQuery .change()
:
$('#checkbox1').change(function(){
if (this.checked) {
$('.selectpicker').attr('disabled', false);
} else {
$('.selectpicker').attr('disabled', true);
}
});
O que eu fiz errado?Por que o atributo desativado não funciona na seleção de bootstrap?
Qualquer ajuda é apreciada!Obrigado!
Solução
É um plugin, não uma caixa de seleção normal, você precisa ouvir os eventos que ele realmente suporta:
$('#checkbox1').on('ifChanged', function(){
$('.selectpicker').attr('disabled', this.checked).selectpicker('refresh');
}).iCheck({
checkboxClass: 'icheckbox_flat-red',
radioClass: 'iradio_flat-red'
});
Outras dicas
$('input#checkbox1').iCheck({
checkboxClass: 'icheckbox_flat-red',
radioClass: 'iradio_flat-red'
});
$('.selectpicker').selectpicker();
$(document).on('ifChecked','#checkbox1',function(){
$('.selectpicker').prop('disabled',true);
$('.selectpicker').selectpicker('refresh');
});
$(document).on('ifUnchecked','#checkbox1',function(){
$('.selectpicker').prop('disabled',false);
$('.selectpicker').selectpicker('refresh');
});
/*standard checkbox*/
$('#checkbox2').change(function(){
if (this.checked) {
$('.standard').attr('disabled', true);
} else {
$('.standard').attr('disabled', false);
}
});
use este código js