Hej Udviklere.
Jeg prøver at lave en dynamisk select box i PHP og Ajax, men af en eller anden grund, så får jeg ikke hentet værdierne i mine byer.
Først og fremmest har jeg Ajax-koden i min header:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".country").change(function(){
$id = $(this).val();
$.ajax({
type:"Post",
url:"getid",
data:"id="+$id,
cache:"false",
success:function(html){
$("#city").html(html);
}
});
});
});
</script>
Her efter har jeg selve siden, hvor jeg viser og henter landet til select boxen:
<select class="country">
<option selected="selected">Vælg land</option>
<?php
$database = new Database(DB_TYPE,DB_HOST,DB_NAME,DB_USER,DB_PASS);
$sth = $database->prepare("SELECT * FROM lande_kategorier");
$sth->execute();
$result = $sth->fetchAll();
foreach($result as $key => $rows){
$id = $rows['kat_id'];
$country = $rows['kat_name'];
echo '<option value="'.$id.'">'.$country.'</option>';
}
?>
</select>
</div>
<div class="outer_selector">
<div class="label">by</div>
<select id="city">
<option value="">vælg land først</option>
</select>
Til sidst har jeg filen, hvor jeg henter min min by:
<?php
$id = $_POST['id'];
$database = new Database(DB_TYPE,DB_HOST,DB_NAME,DB_USER,DB_PASS);
$sth = $database->prepare("SELECT * FROM byer_under_kategorier WHERE under_kat_overkat_ref = :id");
$sth->bindValue(':id', $id, PDO::PARAM_INT);
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
foreach($result as $key => $rows){
$cityid= $rows['under_kat_id'];
$cityname = $rows['under_kat_name'];
echo '<option id="'.$cityid.'">'.$cityname.'</option>';
}
?>
Er der nogen, der kan hjælpe?
Eller kan se, hvad fejlen er?
Indlæg senest redigeret d. 28.01.2013 20:19 af Bruger #15747