2014-12-15 13 views
5

Używam selectpicker plugin. Teraz próbuję domyślnie wybrać wszystkie opcje lub przynajmniej przycisk, aby wybrać wszystkie bez konieczności klikania w menu rozwijanym.selectpicker z domyślnie zaznacz wszystko

Obecnie wersja demonstracyjna działa tylko po kliknięciu menu, a po kliknięciu przycisku.

Każdy pomysł?

$('.selectpicker').selectpicker(); 


$(".btn_clk").click(function() { 
    $('.selectpicker').selectpicker('selectAll'); 
}); 

http://jsfiddle.net/tpnw96ed/

+0

Widocznie ten został podniesiony jak już błędu: https://github.com/silviomoreto/bootstrap-select/issues/721 – athms

Odpowiedz

1

Rozwiązaniem w tej thread pracuje dla mnie.

Oto zaktualizowany kod wtyczki:

linii 888 i 895 w boostrapt-select.js

selectAll: function() { 
    this.findLis(); 
    this.$lis.not('.divider').not('.disabled').not('.selected').not('.hide').find('a').click(); 
}, 

deselectAll: function() { 
    this.findLis(); 
    this.$lis.not('.divider').not('.disabled').filter('.selected').not('.hide').find('a').click(); 
}, 

Uwaga zmiana .filter(':visible') jest teraz .not('.hide')

1

Spróbuj tego:

$('.selectpicker').selectpicker('val', ['Mustard','Relish', 'Ketchup']); 
+5

To nie jest naprawdę utrzymaniu , prawda? – jao

4

można otworzyć/zamknąć Selectpicker przed/po naciśnięciu przycisku:

$(".btn_clk").click(function() { 
    $('.dropdown-menu').css("display","block"); 
    $('.selectpicker').selectpicker('selectAll'); 
    $('.dropdown-menu').css("display","none"); 
}); 

Edycja: Będziesz także należy dodać następujące, aby ręcznie uruchomić zrzut WN na kliknięcia po selectAll:

$('.selectpicker').click(function() { 
    if($('.dropdown-menu').css("display") == "block") $('.dropdown-menu').css("display","none"); 
    else $('.dropdown-menu').css("display","block"); 
}); 

JSFIDDLE

+2

Tak, to obejście tego błędu: https://github.com/silviomoreto/bootstrap-select/issues/721 – athms

+0

Wygląda na to, że jest to jedyny sposób ... Jest metoda show, ale to nie wygląda pracować. I wybierze tylko wszystkie pozycje, kiedy menu jest otwarte. – jao

+0

menu zostanie zerwane po kliknięciu, prawda? – user2990084

1

Jest domyślnym sposobem dodania Zaznacz wszystko i Odznacz wszystkie przyciski, aby wybrać teraz. należy użyć opcji data-actions-box="true" włączyć przyciski do zmiany nazwy i data-select-all-text="Select all buttton name" data-deselect-all-text="Deselect all button name" im