[Original] choix multiple / Select All case, AJAX présenter. Fixez le onchange BUG IE
Récemment préparé l'arrière-plan pour les 2,7 MeePlace propose plus de l'élection. Dans la version, un par un, les antécédents MeePlace est plus puissant (pas modeste, hoho), le fond ajax pure asynchrone (et parfois l'impression de programmation un peu lourd, mais depuis le début est un tel contexte, de 1,0, maintenant changé, ont de la difficulté outre AJAX pour donner aux utilisateurs une meilleure expérience, nous continuons à le développer: D)
L'augmentation en arrière-plan fonctionnel, on est capable de multi-sélection / Sélectionner tous les éléments que cela a été un problème historique, et dans tous mes projets de développement sont élaborés avec une série de leurs propres systèmes de back-office, afin de faciliter des changements pour devenir . La multi-sélection Brian, c'est énumérés dans les années à Milestone, alors j'écris. Avez-d'en faire trop avant les élections, mais parce que la forme originale de la poste, si simple. L'utilisation d'AJAX sur le fond de l'opération électorale, j'ai pensé un moment avant le premier coup.
Mon idée est que, en traversant case, ont été sélectionnés pour obtenir la valeur de la case à cocher, puis passer le traitement back-end multi-sélection.
Le code suivant dans cette partie du public MeePlace.

bouton Sélectionner. Utilisateurs cliquez sur Sélectionner tout, après cette case à cocher, case à cocher de onclick = "select_item_all (this," allitem "," childitem ")"
Quelle "allitem" Cochez la case est le nom de classe, car peut-être toute cette élection sera de deux, ou plus, comme en-tête et la queue chacun.
"Childitem" est une case à cocher pour l'ensemble des articles présentent le nom de classe.
code JS:
/ / Select_item_all Sélectionnez le bouton de fonction (whochecked, allitem, childitem) ( if (whochecked == true) ( $('.'+ Allitem). Attr ('checked', true); $('.'+ Childitem). Attr ('checked', true); $ ('. Itemtr »). AddClass (« trselected'); ) d'autre ( $('.'+ Allitem). Attr ('checked', false); $('.'+ Childitem). Attr ('checked', false); $ ('. Itemtr »). RemoveClass (« trselected'); ) )
Cette élection se soumit en jugeant si la case est cochée, pour atteindre l'objectif de l'ensemble du scrutin.
Le code suivant est de cliquer sur le "Supprimer la sélection" ("Supprimer la sélection"), la case de numérisation sélectionné la valeur et l'émission d'avertissements et de code asynchrone soumis
code JS:
fonction delselected (feuille, où, childitem) ( / / En balayant childitem développés (case à cocher article avant le nom de classe), pour obtenir les identifiants de l'élément sélectionné selected_ids var =''; var obj = $ ("input: checked [class =" +"']"); childitem + $. Chaque (obj, la fonction (I, point) ( selected_ids + = $ (item). Val () +','; )); if (selected_ids) ( var a confirm = ("ATTENTION! Vous allez supprimer une quantité d'objets. \ n articles \ rThese ne sera jamais rétablie après supprimés. \ n \ rSure de supprimer ces éléments?"); if (retour == 0); ) else / / pas trouvé case sélectionnée ( alert ('Vous n'avez sélectionné aucun article.'); retour; ) $ / / JQuery By. Poste à soumettre des données de façon asynchrone $. Post ("/ MGT / fonctions / delete.php?" + Math.random (), ( Fiche: fiche, où: où, l'égalité: selected_ids ), Fonction (données) (TIPS («Éléments supprimés. '); Nav ();}); )
Correspondant code delete.php, même si l'insécurité code, peut regarder directement dans l'exploitation directe de la base de données. Mais l'arrière-plan pour le code, et séance d'essais MeePlace très strictes, alors j'ai utilisé donc je ne pense pas qu'une droits Admin Admin à leurs propres sites Web noir. LOL
Code PHP:
/ _SESSION Arrivée /
/ / Votre connexion à la base, ou un cadre de base de données d'interface
/ / / Passez votre souris sur la valeur, est égale à l'ID choisis par le explode () fonction dérivée du tableau après
Fiche = $] $ _REQUEST fiche [/ /
Lorsque $ = $ _REQUEST [où]; / /
$ Égalité = $ _REQUEST [] l'égalité; / /Equals $ = explode (",", $ égale);
/ / / Boucle pour supprimer des entrées dans la base de données développée
$ I = 0;
while ($ iif ($ équivaut à [$ i]) (
fiche $ query = "supprimer` $ `où` où `$ = '$ est égal à $ [LIMIT i]' 1";
$ Rc = mysql_query ("$ query") or die ("Erreur: $ query");
requête $ output .= $. "\ r \ n";
)
$ I + +;
)
