Je veux remplir la liste déroulante de la base de données à l'aide de jQuery. Mais quand j'ai essayé, je reçois une réponse vide. voir ci-dessous le code je n'ai pas vu d'erreur.
Code PHP pour obtenir des données:
if ($dat=="driver") {
$q = "select * from drivers";
$sql = mysql_query($q);
$data = array();
while($row = mysql_fetch_array($sql, true)){
$data[] = $row;
};
echo json_encode($data);
}
Code jQuery:
$.getJSON("get-data.php?dat=driver",function(data){
$.each(data,function(key,val) {
$("#night_Shift_text").append(
$("<option></option>").val(value.id).html(value.id)
);
});
});
HTML:
<select id="night_Shift_text"><option></option></select>
Console de débogage:
Réponses:
0 pour la réponse № 1Utilisez une chaîne pour stocker votre option, puis ajoutez-la à la balise select. Ensuite, s'il vous plaît vérifier que les données sont là dans le val.
$.getJSON("get-data.php?dat=driver",function(data){
var stringToAppend = "";
$.each(data,function(key,val) {
stringToAppend += "<option value="" + val.id + "">" + val.id + "</option>";
});
$("#night_Shift_text").html(stringToAppend);
});
0 pour la réponse № 2
Vous utilisez une mauvaise variable value
. Vous devez utiliser val
$("<option></option>").val(val.id).html(val.id);