Bonjour
J'ai réussi après bien des recherches à mettre en place une recherche assistée, avec Jquery-ui et ajax et il reste un point que je n'arrive pas régler seul.
Où j'en suis : Un php-ajax me renvoie une liste-box enrichie en HTML (pour sous_signer le texte saisi) du genre :
-- Fruits --
Pommes
Poires
-- Légumes --
Poivrons
Je voudrais tout simplement que les titres séparateurs ne soient pas cliquables...
Voici le code utilisé côté Jquery :
Je triture mes derniers cheveux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 function highlightText(text, $node) { var searchText = $.trim(text).toLowerCase(), currentNode = $node.get(0).firstChild, matchIndex, newTextNode, newSpanNode; while ((matchIndex = currentNode.data.toLowerCase().indexOf(searchText)) >= 0) { newTextNode = currentNode.splitText(matchIndex); currentNode = newTextNode.splitText(searchText.length); newSpanNode = document.createElement("span"); newSpanNode.className = "autocomplete"; currentNode.parentNode.insertBefore(newSpanNode, currentNode); newSpanNode.appendChild(newTextNode); } } $("#autocomplete").autocomplete({ source: "ajax_autocomplete.php", focus: function(event, ui) { // prevent autocomplete from updating the textbox event.preventDefault(); }, select: function(event, ui) { // manually update the textbox and hidden field $("#fs").val(ui.item.id); } }).data("ui-autocomplete")._renderItem = function(ul, item) { var $a = $("<a></a>").text(item.value); highlightText(this.term, $a); return $("<li></li>").append($a).appendTo(ul); }; // Merci http://salman-w.blogspot.fr/2013/12/jquery-ui-autocomplete-examples.html // Merci https://github.com/salmanarshad2000/demos/blob/v1.0.0/jquery-ui-autocomplete/highlight-matched-text.html // Merci http://cdn.rawgit.com/salmanarshad2000/demos/v1.0.0/jquery-ui-autocomplete/using-label-value-pairs.html
Quelqu'un pourrait me donner une piste ?
Un grand merci par avance !
JM
Partager