2017-07-22 2 views
0

J'utilise select2 pour boîte de sélection qui se fait sur appel peuplé API. Je veux appeler une autre API lorsque je sélectionne un élément dans la liste déroulante qui fonctionne maintenant comme ceci:déclencheur Sélectionnez 2 onChange() sélectionné

<select id="person-select" onchange="callAnotherApi()" style="width: 100%"> 
</select> 

API est appelée à chaque fois que je prends une autre valeur, mais pas quand je prends le premier (qui est déjà sélectionné par défaut, aucun onChange() n'est déclenché). onClick() ne fonctionne pas ici. Je me demande si je peux désactiver le premier enregistrement sélectionné ou quelque chose pour faire ce travail?

+0

me montrer le code complet –

+0

quelle partie? 'Select2' est chargé, la fonction déclenche une autre API, il est juste une question pour la première valeur sélectionnée par défaut – Norgul

+0

Ce que j'ai trouvé: « Ce comportement existe non pas parce que Select2 est contraint, mais parce que le navigateur est auto-sélection de la première Nous ne pouvons pas contrôler cela, nous pouvons seulement contourner ce problème.La meilleure option est d'utiliser le support de l'espace réservé dans Select2 et d'inclure une balise d'option vide comme sélection par défaut. " –

Répondre

3

Vous pouvez désactiver première option et le texte de l'espace réservé mis:

<select> 
    <option val="null" disabled selected> select an answer</option> 
    <option val="one">one</option> 
</select> 

Vérifiez ce violon: http://jsfiddle.net/sL4fLnhn/

$('select').on('change', function(){ 
     $('select option:disabled').remove(); 
    }); 
    $('select').select2(); 
+0

Slick et simple. Merci – Norgul