Ich habe Probleme mit Ajax Ergebnisse beim Versuch, einige ID zu suchen zum Beispiel: 0205P, 04066H etc, es gibt mir das Ergebnis korrekt, aber wenn ich es anklicke, in Eingabe ist eine andere Nummer wie 616, 7 , 13 ... So funktioniert alles perfekt, außer wenn meine Suche mit 0 (null) beginnt. Meine ID in der Datenbank (MYSQL) ist Varchar (8). Hier ist mein Code:jQuery - Ajax zurück unbekannte Zahlen
dob.php
<input type="text" name="konto1" id="konto" class="form-control konto" value="<?php if(isset($_POST['konto1'])) echo $_POST['konto1']; ?><?php if(isset($_GET['konto1'])) echo $_GET['konto1'];?>" />
<div class="boja"><div style="margin-top: 0px" id="selectKonto" class="list-group"></div></div>
<script>
// ajax call
$('#konto').keyup(function() {
var konto = $(this).val();
$.ajax({
type: 'POST',
url: 'konto.php',
data: {
search: konto
},
beforeSend: function() {
$('#konto').css("background", "#FFF url(LoaderIcon.gif) no-repeat 165px");
},
success: function(data) {
if (!data.error) {
// var reply = data.replace(/\s+/, "");
$('#selectKonto').show();
$('#selectKonto').html(data);
$("#konto").css("background", "#FFF");
}
}
});
});
function selectKonto(val) {
$("#konto1").text(val);
$("#selectKonto").hide();
}
</script>
konto.php
if(!empty($konto)) {
$q = "SELECT * FROM konto WHERE ... LIMIT 10";
$result = $db->query($q);
if(!$result){
die('QUERY FAILED' . $db->error);
}
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<div><font size="2em"><a href="#" class="list-group-item konto" style="width: 555px;border: 1px solid grey;"
onclick="selectKonto(\''.trim($row['kp_sif']).'\')">...
<script>
$('.konto').click(function() {
var text = $(this).html();
$('.ime-konto').html(text);
$("#selectKonto").hide();
});
</script>
P. S. Der Feldtyp in der Datenbank muss varchar bleiben, ich kann ihn nicht in INT ändern.
So ist die führende Null, die es zum Server macht? Sie müssen herausfinden, wo es gelöscht wird, entweder auf der Clientseite oder auf der Serverseite. – epascarello
* wenn ich es anklicke, in der Eingabe ist eine andere Zahl wie 616, 7,13 ... Also * nicht viel klar – JYoThI
hast du versucht mit 'var text = $ (this) .text(); $ ('. ime-konto'). Text (Text); 'in konto.php? Außerdem sehe ich kein Element mit der Klasse 'ime-konto', aber es sollte in deinem Code sein, denke ich. Hinweis: Zeigen Sie niemals POST- oder GET-Variablen wie diese an, bevor Sie gefährliche Werte gefiltert haben. – Kaddath