porownanie wartosci select

0

Mam problem otóz mam liste select i w niej wybraną wartość na przykład polska. Chce strzałka kliknąć w select i ponownie wybrać polske i wtedy dostać jakąś akcję na przykład wyświetlić alert jak to zrobic?
Napisałem coś takiego i nie działa:(

$('#countries').change(function(){
    if (this.value == this.value) {
        alert("SAdsa");
    }
    else {
    alert("alicja");
    }
});
    
 
0

change wywołuje się kiedy wartość się ZMIENI (zgodnie z nazwą zdarzenia).

Mógłbyś zapiąć zdarzenie click na #countries option, ale widzę, że to nie działa na Webkicie.

Drugie (też niedziałające) rozwiązanie to przypiąć zdarzenie click do tego selecta, wtedy click otrzymują też optiony, potem sprawdzasz czy target eventu jest option. OCZYWIŚCIE nie na Webkicie ("kocham" ten silnik za takie jaja).

$('#s1').click(function(e){
  if ($(e.target).is('option')) {
    // zmiana wartości, być może na tą samą
  }
});

Więc rozwiązania są dwa:
Albo przypinasz click do selecta - ale wtedy klik rozwijający selecta też będzie łapany.

Albo używasz jakiegoś javascriptowego zamiennika <select>, którego pewnie nie będzie się dało normalnie używać z klawiatury, ale ponieważ to tak naprawdę będą jakieś divy czy spany - to sobie zapniesz zdarzenie click do elementów pojawiających się po rozwinięciu.

Oba rozwiązania są nienajlepsze.

Tu masz moje testy: http://jsbin.com/IYeyEbA/1/edit

1 użytkowników online, w tym zalogowanych: 0, gości: 1