J’ai des divs comme ça:
Pagás
$ 67 Valor
$ 160 Descuento $ 93
je veux commander les divs avec la classe = “oferta” par la valeur dans “ofertapagas” ou la valeur dans “ofertavalor” ou la valeur dans “ofertadescuento”, je ne sais pas comment, je ne peux pas utiliser la firebase database, je peux juste Jquery, j’utilise la dernière version. Un peu d’aide s’il vous plaît !!
- Comment stocker les données JSON au format de table JavaScript?
- Comment détecter un onglet inactif et le remplir de couleur
- Highcharts réticule avec des étiquettes sur des axes
- Application Nodewebkit: masquer le curseur
- Yepnope & Modernizr screen.width Conditions
jQuery résume Array.prototype.sort
. Les ensembles de wrappets de jQuery étant des objects de type tableau , vous pouvez simplement appeler .sort()
sur eux ou leur appliquer un sorting.
var $datosoferta = $('.datosoferta'); $datosoferta.children().detach().sort(function(a,b) { return +a.textContent.split(/\$/)[1].sortingm() - +b.textContent.split(/\$/)[1].sortingm(); }).appendTo($datosoferta);
Voir http://typeofnan.blogspot.com/2011/02/did-you-know.html
Démo : http://jsfiddle.net/Rfsfs/
Utiliser ui. JQuery UI – Démos et documentation sortingables
Pour votre code;
$( ".offer" ).sortable({ update: function(event, ui) { // do post server. } });
Si vous placez ces offres DIV dans une sorte de conteneur (un autre DIV?), Vous pouvez alors récupérer toutes les offres et les sortinger en fonction des valeurs de leurs enfants.
Dans le code HTML ci-dessous, j’ai placé les divs de l’offre dans un div de conteneur et ajouté un atsortingbut data-value
à chacun des divs enfant contenant des données, pour un access plus facile (aucune expression régulière requirejse).
Pagá $ 67 Valor $ 130 Descuento $ 93 Pagá $ 57 Valor $ 150 Descuento $ 43 Pagá $ 107 Valor $ 250 Descuento $ 1000 Pagá Valor Descuento
La fonction JS / jQuery:
ofertas_sort = function(sort_key) { // array of offer divs var ofertas = $('.infoferta'); // the div classname corresponding to the key by which // we are sorting var sort_key_sel = 'div.' + sort_key; // in large lists it'd be more efficient to calculate // this data pre-sort, but for this instance it's fine ofertas.sort(function(a, b) { return parseInt($(sort_key_sel, a).attr('data-value')) - parseInt($(sort_key_sel, b).attr('data-value')); }); // re-fill the container with the newly-sorted divs $('#ofertas_container').empty().append(ofertas); };
Voici le code sur jsFiddle, avec quelques liens au bas du code HTML pour démontrer le sorting: http://jsfiddle.net/hans/Rfsfs/2/
J’ai modifié certaines des valeurs pour rendre le sorting plus visible.
- Sélectionner un object aléatoire à partir de JSON
- window.showmodaldialog ne fonctionne pas en chrome
- jQuery 1.7.1 – La “valeur” de l’entrée de texte n’est pas mise à jour dans l’élément Firebug Inspect mais est affichée
- Comment vérifier si le champ de saisie est actif ou non?
- Conversion de HTML en mots à l’aide de javascript
- ASP .NET MVC 5 Écrire du javascript dans le fichier View.cshtml
- Désélectionner une option à l’aide de jQuery sur un sélecteur de sélection Bootstrap
- Intercepter tous les événements de souris
- Moteur de template Javascript à utiliser avec jQuery
- Diviser une “grande” table en tables plus petites