Jquery autocomplete in codeigniter abrufen von Werten, aber nicht anzeigen
Nach ein paar Stunden entschlüsseln, tutorials, habe ich endlich codeigniter-und jquery-autocomplete mit einander arbeiten...irgendwie.
Firebug ist der Anzeige der richtigen Suchbegriffe zurück im JSON-format, aber der drop-down-box ist nicht die Anzeige von text. Wenn es 2 Ergebnisse, es zeigt 2 leere Zeilen.
können Sie sehen, es 'nicht funktioniert' hier: http://rickymason.net/blurb/main/home
JS:
$(document).ready(function() {
$(function(){
$( "#filter" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "http://rickymason.net/blurb/main/search/",
data: { term: $("#filter").val()},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 2
});
});
});
Controller:
public function search()
{
$term = $this->input->post('term', TRUE);
$this->thread_model->autocomplete($term);
}
Modell:
public function autocomplete($term)
{
$query = $this->db->query("SELECT tag
FROM filter_thread ft
INNER JOIN filter f
ON ft.filter_id = f.filter_id
WHERE f.tag LIKE '%".$term."%'
GROUP BY tag");
echo json_encode($query->result_array());
}
Hoffentlich eine einfache Lösung!
Dank
- 'funktioniert nicht' ist keine Fehlermeldung, aus der ich Lesen können, hilfreiche Informationen ...
- Drop-down-box? Wo?
- Könnte Sie buchen die JSON-Ausgabe bekommen Sie zurück? BTW, es sei denn $term ist richtig bereinigt, bevor Sie übergeben Ihr Modell, das Sie weit geöffnet, um eine SQL-injection-Angriff.
- Bitte Lesen Sie das SO ein post und den entsprechenden links.
- Und ja, wie andere haben darauf hingewiesen, eine bessere Fehler-Bericht wäre auch ganz nett. Überprüfen Sie Ihre javascript-Konsole, oder Sie suchen sich ein kleines gelbes Dreieck in der browser-status-bar.
- Sie sollten auch die Flucht der Wert vor dem einfügen in die Abfrage oder die Bindung durch das framework zur Verfügung gestellt
- Ich bin extrem neu zu codieren und web-Entwicklung im Allgemeinen. Könnten Sie dies genauer erklären?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern Sie Ihren code so etwas wie dieses funktionieren würde(habe ich getestet in Ihre Website)
Kopieren und fügen Sie den obigen code-block Text in der Konsole aus und versuchen Sie dann die Autovervollständigung. Wird es funktionieren. Ich habe versucht, in Ihre Website und es funktionierte.
Zweitens brauchen Sie nicht beide
$(document).ready(function() {
und$(function(){
zur gleichen Zeit, wie Sie das gleiche erreichen.In diesem Abschnitt überprüfen der jQuery UI autocomplete
Referenz: $.anzeigen
Blick auf diese Frage auf, SO dass Sie müssen setup Ihre
label
undvalue
Felder auf die Antwort zurück. Versuchen Sie entweder arrangieren Sie Ihre PHP-JSON-Ausgabe übereinstimmen oder die Karte zurückgeben, mit etwas, das die folgende (ungetestet).