Comment puis-je trier la deuxième colonne contenant de l'image et du numéro.
$("#tb").dataTable({
"order": [
[1, "asc"]
]
});
3 Réponses :
Basé sur @guruprasad Rao Commentaire et le plugin Docs ( http://datatables.net/plug -ins / tri de # Hidden_title_string ), vous devez créer votre propre filtre. Quelque chose comme ça:
Code de filtrage: p> puis dans la fonction DataTable init: p>
C'est probablement la solution la plus générale, mais il semble que deux réponses de Scottysmalls puissent résoudre cette situation particulière plus simplement.
En raison de la balise d'image, il trie comme une chaîne. Il commencera à trier avec le premier texte qu'il voit, de sorte que la façon dont je me passe autour est en ajoutant une portée cachée avec la valeur numérique. Il vous suffit de vous rappeler de faire toutes les valeurs de la même longueur car elles seront toujours triées comme chaînes. Vous pouvez le faire en ajoutant 0's.
Un exemple [en supposant que je sais que mon numéro ne sera jamais plus de 100]: p> un tri croissant, même comme une chaîne , entraînera 1, 24, 33, 51 p> p>
C'est une solution très intelligente.
Le tri est beaucoup plus flexible dans la version actuelle de datables avec l'inclusion de HTML5 Attributs de données .
Connexion des attributs de traits de données ou de commande de données à la balise TD vous permet de personnaliser l'ordre de tri pour tous les types d'objets DOM dans vos tables. p>
J'ai commencé à écrire que cela ne fonctionne peut-être pas dans un réglage dynamique (où les données proviennent de dB), mais IIUYC, vous voulez simplement mettre la même "valeur" dans l'attribut de commande de données, et les tables de données utiliseront le Attribut de commande de données au lieu du contenu de la cellule. Droit?
Cela devrait vous aider à vous aider à < / a> b>
Vous pouvez supprimer les balises
img code> et essayer d'ajouter cette image à l'aide de quelque chose comme: avant code> Règles CSS. En général, il vaut mieux que la copie de ceimg code> à chaque cellule; Et cela trier vos colonnes correctement.