2012-02-08 19 views

risposta

13

Ho trovato una risposta. Così qui è:

$(function() {  
     $('#items').selectmenu({ 
      change: function() { 
       alert('x'); 
      } 
     }); 
}); 
+0

E 'anche possibile aggiungere un comportamento onchange più tardi, dopo aver il menu di selezione è stato avviato. Basta selezionare gli elementi che hanno il comportamento di selezione e modificare la proprietà di modifica, ad es. '$ ('# articoli'). change (function() {...})' – berliner

+0

@berliner questa soluzione non funziona per me ... Rimbalza la soluzione funziona solo quando si apre la pagina .. Non quando si cambia il selezionare .. – Maxbester

+0

due anni dopo ... è questa l'unica soluzione? Nel mio progetto ci sono tonnellate di selectbox con change() esistente - evento e tutto non funziona con selectmenu. – user706420

10

Dal momento che questo è venuto prima su Google e non mi ha dato la risposta che cercavo, dopo aver guardato il codice ui jquery può essere fatto dopo la configurazione iniziale del menu di selezione , vincolante per l'evento selectmenuchange come sotto. Ha funzionato per me comunque.

$('#items').selectmenu(); 

$('#items').on('selectmenuchange',function() { 

    alert("hello world"); 

}); 
1

Mi stavo solo strappando i capelli e ho trovato un modo semplice per farlo. In pratica devi dire al menu di selezione di attivare l'evento di modifica.

Quando si imposta il Selezionare Menu utilizza il metodo close in questo modo:

//Set select box to jQuery UI selectmenu 
$('select').selectmenu({ 
    close: function(event, ui){ 
     //Fire change event 
     $(this).change(); 
    } 
}); 

quindi definire il vostro evento cambiamento come questo:

$('#container').on('change', 'select', function(e){ 
    alert('x'); 
}); 
Problemi correlati