2011-09-29 3 views
0

J'ai créé un insert et mise à jour pour une table de PRODUITS utilisant PHP et MySQL.Comment puis-je actualiser une liste déroulante de databound sans actualiser la page entière?

Chaque formulaire contient un champ SELECT, databound, qui interroge une table COMPANIES à remplir.

L'ID d'enregistrement de chaque société est utilisé dans la table PRODUCTS pour regrouper les produits par société.

Je dois trouver un moyen de permettre aux utilisateurs d'ajouter de nouvelles sociétés tout en ajoutant des produits.

Je souhaite que l'utilisateur puisse sélectionner "Ajouter un nouveau" dans la liste déroulante et déclencher une visionneuse contenant le formulaire "Ajouter une société". Ils ajouteraient le nom de leur entreprise soumettre ce formulaire et la lightbox se fermerait. Cela déclenchera une actualisation de la liste déroulante COMPANIES et sélectionnera la valeur transmise.

Voilà comment je le vois. Je ne sais pas si c'est le meilleur UX mais j'ai besoin d'aide. J'ai genoux pour savoir:

1. comment déclencher la lightbox à partir d'une OPTION dans le champ SELECT.
2. comment placer le formulaire Ajouter des sociétés dans la visionneuse.
3. comment actualiser le champ COMPANIES SELECT, sur le formulaire d'origine, avec la nouvelle valeur. Tout en conservant toutes les valeurs précédemment entrées dans d'autres champs.

Toutes les suggestions sont grandement appréciées.

Vive
Doug

+1

Envoyez la demande côté serveur avec AJAX. –

+0

jQuery est particulièrement utile pour cela. – Brad

Répondre

0

Pseuo-code:

  1. Chargez votre liste de sociétés (comme vous le faites)
  2. Bind à l'événement "changement" sur la société menu déroulant (comme vous faites avec des produits de mise à jour basés sur la compagnie choisie). Lorsque la valeur de la sélection est égale à la valeur "Ajouter une nouvelle société", déclenchez la boîte à lumière.
  3. La forme de boîte à lumière utiliserait un appel AJAX à un script (en arrière-plan) qui ajouterait la nouvelle société (j'implémenterais aussi une vérification/validation d'erreur).
  4. Lorsqu'une réponse réussie revient d'AJAX, ajoutez la nouvelle société à la liste de sélection, sélectionnez-la, puis le changement de valeur doit re-déclencher la liste déroulante de votre produit pour basculer.

Dans l'ensemble, cela devrait être assez simple.

Questions connexes