Ich arbeite an diesem jQuery-Dateneingabeformular, bei dem ich ein bestimmtes Feld mit Daten aus MySQL automatisch ausfüllen lassen muss.
Ich habe alles funktioniert, Autovervollständigung ruft Daten aus MySQL über PHP ab Abgleich ist großartig bei englisch/lateinischen Zeichen.
Das Problem ist, wenn ich Griechisch eingebe, erhalte ich nur FALLSENSITIVE Übereinstimmungen Wenn ich den richtigen Fall eingebe, erhalte ich meine Übereinstimmung und alles läuft gut, aber ich möchte, dass es FALLunempfindlich ist.
Wie Sie verstehen, verwende ich es mit einer externen Quelle, also denke ich, dass es etwas sein muss, wenn die beiden Zeichenfolgen verglichen werden... funktioniert perfekt, wenn der Fall richtig eingegeben wird...
Außerdem, wie Sie in meinem Code sehen werden, habe ich ein Array [id, name] Mit meiner aktuellen Konfiguration (selbst fallabhängig) suche ich den Namen, das Dropdown-Menü erscheint, wenn ich auf den gewünschten Namen klicke, wird das Feld mit der ID gefüllt und wenn ich das Formular absende, wird die ID an die nächste PHP-Seite übermittelt.
Gibt es eine Möglichkeit, genau dasselbe zu haben, aber anstelle des Feldes mit der ID das Feld mit dem Namen zu füllen? Das heißt: Nach dem Namen suchen, Dropdown-Menü mit Namen erhalten, klicken und den Namen im Feld erhalten und beim Absenden die ID übermitteln?
Jede Hilfe wäre sehr geschätzt. Hier ist der Code:
blah blah...
Nachname:
Hier ist das JS:
$(function() {
var cache = {},
lastXhr;
$( ".name" ).autocomplete({
minLength: 1,
source: function( request, response ) {
var term = request.term;
if ( term in cache ) {
response( cache[ term ] );
return;
}
lastXhr = $.getJSON( "search.php", request, function( data, status, xhr ) {
cache[ term ] = data;
if ( xhr === lastXhr ) {
response( data );
}
});
}
});
});
Und hier ist die Quelle (search.php):
$key) {
if (strpos(strtolower($key),$q ) !== false) {
array_push($result, array("id"=>$value, "label"=>$key, "value" => strip_tags($value)));
}
if (count($result) > 11)
break;}
echo json_encode($result);
?>
Sie sehen, dass ich mysql_set_charset('utf8',$link); mysql_query("SET NAMES 'utf8'", $link); in meiner Quell-PHP-Datei eingeschlossen habe + das Zeichensatz in meiner Webseite... habe sogar versucht, einen \ Tag in der Quell-PHP-Datei zu setzen, aber das hat alles durcheinander gebracht :(
Wie Sie verstehen, bin ich ganz neu in all dem, also wenn mir jemand Zeit nehmen könnte und mir erklären könnte, was ich übersehe, wäre das großartig :) Auch alle anderen Vorschläge/Verbesserungen wären großartig, da dies einer meiner ersten Code-Teile ist :)
im Voraus vielen Dank