jquery bootstrap selectpicker rafraîchissante listes, en fonction lors de la précédente liste de choix
J'ai trois listes déroulantes, une liste est renseignée sur le chargement de la page et ne change pas. Les 2e et 3e listes peuvent changer en fonction de la sélection. Cette fonctionnalité fonctionne bien.
J'ai essayé d'ajouter Bootstrap selectpicker pour les sélecteurs et je peux voir que c'est de travailler, malheureusement, les listes ne sont pas rafraîchissant basée sur la sélection. Je pense en fait que "derrière les coulisses" ils sont comme je peux voir les requêtes étant passé mais par l'intermédiaire de l'extrémité avant rien ne se passe.
Partie de l'HTML:
<!-- SelectPicker -->
<link href='//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.2/css/bootstrap-select.min.css' rel='stylesheet' type='text/css'>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
Les deux premiers DDL sont créé via php mais sont
<select id='ddl_first_lookup' onchange='ajaxFirstOnChange(this.value)' value='' class='selectpicker'></option>
<select id='ddl_second_lookup' onchange='ajaxSecondOnChange(this.value)' class='selectpicker'>
<select id="ddl_third_lookup" onchange='ajaxThirdLookup(this.value)' class='selectpicker'></select>
J'ai le code Javascript suivant:
$(document).ready(function() {
$(".selectpicker").selectpicker();
});
C'est le point où j'ai découvert le problème, je suis en train de mettre en œuvre au sein de l'ajax sur le changement des fonctions sans succès - ne sais même pas s'il est correct.
$('.selectpicker').selectpicker('refresh');
Je suis nouveau à tout cela aimerais un peu d'aide.
- Pensez que le problème est causé par moi-même appel .selectpicker('refresh'); au mauvais moment.
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé votre question après avoir le même problème. L'ajout de
$('.selectpicker').selectpicker('refresh');
exactement après l'ajout d'éléments à ma liste ont fait le travail.Donc, vous avez probablement besoin de trouver le bon endroit pour le mettre. Peut-être dans la réussite de la partie de votre appel ajax.
selectpicker
(avec ou sans'refresh'
) après cela a provoqué que les valeurs n'ont pas été sélectionnés. Lorsque j'appelle la fonction avant de changer les attributs, il fonctionne très bien.$(document).ready(function () {$('.selectpicker').selectpicker('refresh');});
Ce que j'ai compris de mon expérience avec cette mesure -
Si vous ajouter dynamiquement des options de la liste déroulante, alors vous devez avoir besoin de les appeler ci-dessous la fonction juste avant d'ajouter l'option
Une fois que vous avez terminé d'ajouter des options, puis appel ci-dessous la fonction (si vous êtes en utilisant ajax pour ajouter l'option, puis mettre cette fonction dans la réussite de la partie, comme vient de répondre à Athina)
Si vous êtes face à tout bizarre question comme montrant déroulante pas de données ou parfois déroulante affichant pas correctement, alors certainement, vous devez avoir fait une erreur en plaçant au sujet de la fonction et rien d'autre.
Changer selectpicker nom de la classe quand caché:
Lors de l'actualisation:
Dans mon Ajax successCallBack je suis en train d'essayer de manipuler la liste déroulante ayant pour id comme reasonCode basé sur dynamicId (obtenir une valeur de du serveur) comme ci-dessous:
mais malheureusement, cela n'avait pas fonctionné jusqu'à ce que j'ai ajouté une autre ligne d'après ce que ci-dessous:
si l'actualisation de la méthode ne fonctionne pas, essayez d'ajouter un peu de retard.