Ich versuche, Autocomplete-Suche in Codeigniter zu machen, aber das Problem ist, dass die Liste zum ersten Mal geöffnet, wenn Benutzer in Eingabefeld schreiben, aber nicht entsprechend der Benutzereingabe geändert. es kommt nur beim ersten Mal vor.Autocomplete Suchleiste zur Laufzeit
hier ist mein Code:
<script>
$(document).ready(function(){
$('#text').keyup(function() {
var min_length = 0;
var keyword = $('#text').val();
if (keyword.length >= min_length) {
$.ajax({
url: 'http://localhost/new/index.php/travels/search_fields',
type: 'POST',
dataType: 'json',
data: { term: $("#text").val()},
success: function(data) {
$.each(data, function() {
$.each(this, function(k, v) {
$("#demo").append("<li>" + v + "</li>");
});
});
}
});
} else {
$('#demo').hide();
}
});
});
</script>
und die Abfrage ist:
function search_field($country_id){
$this->db->distinct();
$this->db->select("destination");
$this->db->from('travels_detail');
$this->db->like('destination', $country_id);
$query = $this->db->get();
return $query->result();
- 1 - Können Sie Ihren Code bitte richtig falten :) Ich kann nicht bearbeiten, weil eine Bearbeitung in schwebend ist. - 2 - Ich bin nicht sicher von Ihrem Code in PHP, welche Datenbank verwenden Sie? Das "Gefällt mir" könnte mit "%" versehen sein, um zu signalisieren, dass die Saite nicht fertig ist. '$ this-> db-> like ('Ziel', $ country_id. '%');' - 3 - Können Sie das Ergebnis von $ console.log (Daten, ...)? Es wird helfen. - 4 - '$ (" # demo "). Append', so dass Sie anhängen und Sie' '' '(' #demo ') '' nie löschen? –