c'est un menu déroulant dynamique et voici mon code sur ajax/php:menu déroulant ne pas conserver la valeur sélectionnée sur soumettre
function populateSubCategory(str){
if (str == "") {
document.getElementById("category").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
//for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
//for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("subcategory").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","/getSubCategory.php?value="+str,true);
xmlhttp.send(null);
}
}
getSubCategory.php:
while($row = $result->fetch(PDO::FETCH_ASSOC)){
$selected = ($row['id'] == $_POST['subcategory']) ? ' selected' : "";
echo "<option value=".$row['id']. $selected.">".$row['subcategory']) ." </option>";
}
problème
est, après le dépôt, il ne ne pas conserver l'élément sélectionné dans la liste déroulante. Je l'ai déjà essayé ce code, mais il ne fonctionne pas aussi bien:
while($row = $result->fetch(PDO::FETCH_ASSOC)){
if($_POST['subcategory']==$row['id']) {
echo "<option selected>".$row['subcategory']."</option>";
} else {
echo "<option>".$row['subcategory']."</option>";
}
Que faire? Pls aider, je suis coincé sur ce ..
Vous soumettons la ajax par get.What que de $ _POST [ « sous-catégorie »]? – Techroshni
Je suis un débutant en php/ajax, avez-vous tous les deux une solution recommandée sur la façon de faire cela? –
Je pense que votre zone de sélection n'est pas remplie avec votre texte de réponse car il y a un problème lorsque les options de sélection sont mises à jour via ajax. (. Document.getElementById (« selectResponse ») innerHTML = xmlhttp.responseText;) - Faites votre structure comme
et envoyer l'ensemble de la réponse selectbox ajax et remplir dans div – Techroshni