Warum wird die Attributarbeit bei Bootstrap-select nicht deaktiviert?
-
21-12-2019 - |
Frage
Ich möchte die Formulare, Eingaben und Auswahlen meiner Website gestalten.ich benutzte Bootstrap für die Eingänge und Bootstrap-Auswahl für wählt und ich überprüfe für Kontrollkästchen.Das Problem ist, dass iCheck mit Bootstrap-select nicht korrekt funktioniert.
Hier ist der jsFiddle-Test: http://jsfiddle.net/36Xpf/
Versuchen Sie nun, das Kontrollkästchen iCheck zu aktivieren. Die Auswahl von Bootstrap-Select wird nicht deaktiviert.Aktivieren Sie dann das standardmäßige quadratische Kontrollkästchen. Die Bootstrap-Auswahl wird deaktiviert.
Ich erhalte das Attribut deaktiviert, um es auszuwählen, wenn ein Kontrollkästchen mit jQuery aktiviert ist .change()
:
$('#checkbox1').change(function(){
if (this.checked) {
$('.selectpicker').attr('disabled', false);
} else {
$('.selectpicker').attr('disabled', true);
}
});
Was habe ich falsch gemacht?Warum funktioniert das Attribut „disabled“ bei der Bootstrap-Auswahl nicht?
Jede Hilfe ist willkommen!Danke schön!
Lösung
Es ist ein Plugin, kein normales Kontrollkästchen. Sie müssen auf Ereignisse achten, die es tatsächlich unterstützt:
$('#checkbox1').on('ifChanged', function(){
$('.selectpicker').attr('disabled', this.checked).selectpicker('refresh');
}).iCheck({
checkboxClass: 'icheckbox_flat-red',
radioClass: 'iradio_flat-red'
});
Andere Tipps
$('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);
}
});
Verwenden Sie diesen JS-Code