Matrix12
12.08.2015, 11:32:20
Witam,
mam taki problem. Skorzystałem z pluginu JQuery na selecty. Po kliknięciu w kontrolkę rozwija się select da się w nim szukać itd(Skrypt dodaje klase i wtedy taki select się wyświetla). ale da się go tylko wyłączyć po kliknięciu anuluj. Chce aby po kliknięciu w dowolnym miejscu na stronie(po za tym selectem) zamykały się wszystkie otwartę selecty. Zrobiłem kod w JQuery który miał usuwać tą klasę. Problem w tym , ze jak nawet kliknę w button to on ja automatycznie usuwa.. Macie jakies pomysły jak to obejść?
pastan
12.08.2015, 11:33:35
Jaki dokładnie plugin wykorzystałeś? I pokaż kod to będzie dużo łatwiej pomóc.
Comandeer
12.08.2015, 11:34:36
Albo pobawić się z event.stopPropagation, albo obsługiwać całość selecta przy pomocy event delegation podczepionego pod document.body
Matrix12
12.08.2015, 11:41:25
Plugin to SumoSelect. A z event.stopPropagation wystarczy zrobić document click i to wstawić event.stopPropagation i linijkę ktora usuwa klasę .open?
Comandeer
12.08.2015, 11:42:53
Nie, event.stopPropagation należy przypiąć do kliku buttona
Matrix12
12.08.2015, 11:49:32
Dało radę
Comandeer
12.08.2015, 11:54:48
trueblue
12.08.2015, 11:59:45
Kod
$(document).on('click',function(e){
var sselect=$('.SumoSelect');
if(!sselect.is(e.target)&&sselect.has(e.target).length==0){
//tu wyłącz wszystkie selecty
}
});
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.