tombe
Erfahrenes Mitglied
Hallo,
ich "spiele" gerade ein bisschen mit jQuery herum und bin auf ein komisches Problem gestossen.
Es gibt ein Textfeld und eine leere Liste. So bald man in das Textfeld etwas eingibt, soll eine Suche durchgeführt und die Liste mit den Treffern gefüllt werden (das klappt auch).
Wenn man auf die Liste klickt, soll dieser Eintrag in das Textfeld übernommen werden. Hier wird aber scheinbar die Liste nicht erkannt. Die Funktion wird nicht ausgelöst.
Klicke ich aber auf den Link, wird der in der Liste ausgewählte Eintrag übernommen. Wo ist hier mein (Denk)Fehler!?
search.php:
Hier bitte den veralteten und fehleranfälligen Code nicht beachten. Es geht auf dieser Seite eigentlich nur darum das die Liste komplett neu erstellt wird.
ich "spiele" gerade ein bisschen mit jQuery herum und bin auf ein komisches Problem gestossen.
Es gibt ein Textfeld und eine leere Liste. So bald man in das Textfeld etwas eingibt, soll eine Suche durchgeführt und die Liste mit den Treffern gefüllt werden (das klappt auch).
Wenn man auf die Liste klickt, soll dieser Eintrag in das Textfeld übernommen werden. Hier wird aber scheinbar die Liste nicht erkannt. Die Funktion wird nicht ausgelöst.
Klicke ich aber auf den Link, wird der in der Liste ausgewählte Eintrag übernommen. Wo ist hier mein (Denk)Fehler!?
Javascript:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#suche").keyup(function() {
$.post("search.php", { nachname : $(this).val() }, function(erg) {
$("#div1").html(erg);
});
});
$("#liste").click(function () {
$("#suche").val($("#liste").val());
});
$("#link").click(function () {
$("#suche").val($("#liste").val());
});
});
</script>
HTML:
<input type="text" name="suche" id="suche" value="" size="20" maxlength="50" />
<br />
<div id="div1">
<select name="liste" id="liste" size="5" style="width: 150px;">
</select>
</div>
<a href="#" id="link">Klick</a>
search.php:
Hier bitte den veralteten und fehleranfälligen Code nicht beachten. Es geht auf dieser Seite eigentlich nur darum das die Liste komplett neu erstellt wird.
PHP:
<?php
$rs = mysql_connect("localhost", "xx", "xx");
mysql_select_db("test", $rs);
$sql = "SELECT DISTINCT nachname FROM adressen WHERE nachname LIKE '" .$_POST["nachname"] ."%' ORDER BY nachname";
$erg = mysql_query($sql);
?>
<select name="liste" id="liste" size="5" style="width: 150px;">
<?php
for ($a = 0; $a < mysql_num_rows($erg); $a++) {
echo '<option value="' .mysql_result($erg, $a, "nachname") .'">' .mysql_result($erg, $a, "nachname") .'</option>';
}
?>
</select>
Zuletzt bearbeitet: