2016-10-17 1 views
2

L'utilisation de jQueryListnav pour afficher une belle liste alphabétique sur une page fonctionne très bien si ce n'est que le client souhaite maintenant effectuer une recherche par nom de famille et non par ex.Jquery utilisant le deuxième mot plutôt que le premier mot

Tom Jones - il actuellement des commandes de Tom Jones et non

https://github.com/esteinborn/jquery-listnav/blob/master/jquery-listnav.js

Où/comment pourrais-je modifier ce script pour le faire?

Modifier fixe en utilisant la réponse de Solfiene et un peu Js pour envelopper le nom de famille dans une période:

$("#element").each(function(){ 
var $this = $(this), text=$this.text().trim(), words = text.split(/\s+/); 
var lastWord = words.pop(); 
words.push("<span class=\'last-word\'>" + lastWord + "</span>"); 
$this.html(words.join(" ")); 
}); 

Merci

+0

ne peut vous changer vos noms imprimés? au lieu de [prénom - nom de famille], pouvez-vous imprimer [nom de famille - premier nom]? – andrew

+0

Non, pas sans quelques php/jquery intelligents comme les noms sont imprimés à partir de la base de données, mais @sofiene m'a donné une idée sur la façon d'accomplir cela. –

+0

Si les noms sont "imprimés à partir de la base de données" (impliquant un seul champ "nom") alors comment allez-vous séparer le nom de famille comme suggéré dans la réponse du Sofiene? –

Répondre

1

Vous pouvez y parvenir en utilisant l'option filterSelector vous pouvez spécifier un css sélecteur pour votre navigation à filtrer par nom de famille.

Javascript

$('#list').listnav({ 
    filterSelector: '.last-name', 
}); 

HTML

<ul id="list"> 
    <li>Tom Jones<span classs="last-name" style="display: none;">Jones</span></li> 
</ul> 

ListNav Documentation

+0

merci, semble être le chemin à parcourir –