2013-07-16 6 views
5

Mam proste WYBIERZ, z jQuery wybraną wtyczką, która pojawia się na stronie wiele razy. U góry wybierz opcję "Dodaj nowy". Chodzi o to, że pokazuję okno dialogowe, jeśli użytkownik kliknie przycisk Dodaj nowy.JavaScript/jQuery wybierz element zdarzenia, gdy wybrana opcja jest ponownie wybrana

Korzystanie z zdarzenia kliknięcia jQuery jest łatwe i działa dobrze za pierwszym razem. Jeśli jednak użytkownik anuluje okno dialogowe, a następnie ponownie kliknie przycisk Dodaj nowy, zdarzenie kliknięcia nie zostanie uruchomione.

Próbowałem dodać obsługę zdarzeń kliknięcia do samej opcji bez powodzenia. Próbowałem również bez wybranej wtyczki i bez powodzenia. Nie sądzę, że wybrany jest problem.

Oto prosty jsfiddle pokazujący problem: http://jsfiddle.net/7cMEg/

$('.cls').chosen().change(function() { if ($(this).val()==='-1') alert('clicked'); }); 

Kliknij na pole zaznaczania i wybrać Dodaj Nowy. Pojawi się alert. Ale teraz, gdy wybrano opcję Dodaj nowy, po kliknięciu pola wyboru i ponownym kliknięciu przycisku Dodaj nowy nic się nie dzieje - zdarzenie kliknięcia nie jest uruchamiane. Czy mogę skorzystać z innego wydarzenia? Jakieś inne sugestie (może nieudany hiper link)?

+1

to dlatego, że nie ma żadnych zmian dzieje się, gdy jesteś klikając na 'dodać New' drugi raz –

Odpowiedz

2

Po zdarzeniu jest wywoływane na change, a nie na click. Ponieważ wartość nie zmienia się po drugim kliknięciu, więc alert nie jest wyświetlany.

Pokazuje alert na kliknięcia - fiddle

+1

Ok, dzięki. Twoje skrzypce nie działa w Safari v6.0.5 (moja domyślna przeglądarka). To również nie działa w Chrome v28.0.1500.71. Działa w przeglądarce Firefox v22.0. Nie zawracałem sobie głowy wypróbowaniem IE. Jeśli usuniemy "opcję" z selektora, działa ona w Safari, ale nadal nie jest w Chrome i staje się lekko irytująca w Firefoksie (wyzwalając kliknięcie i zwolnienie pola wyboru). –

+0

@BumptiousQBangwhistle: To nie jest kompletne gotowe rozwiązanie. Nie próbowałem go wszędzie i nie mam na to czasu. Chciałem tylko wskazać problem. Może to pomoże ci dotrzeć do rozwiązania. – xyz

Powiązane problemy