這是一個動態的下拉列表,並在此處選擇的值是我對AJAX/PHP代碼:下拉不保留在提交
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>";
}
問題是,提交之後,它不保留下拉列表中的選定項目。我已經試過這個代碼,但它不工作:
while($row = $result->fetch(PDO::FETCH_ASSOC)){
if($_POST['subcategory']==$row['id']) {
echo "<option selected>".$row['subcategory']."</option>";
} else {
echo "<option>".$row['subcategory']."</option>";
}
怎麼辦?請幫助,我卡在這..
您正在通過get提交ajax。那是什麼$ _POST ['subcategory']? – Techroshni
我是一個初學者在PHP/AJAX,你們都有一個建議的解決方案,如何做到這一點? –
我認爲你的選擇框沒有填充你的響應文本,因爲當通過ajax更新選擇選項時會出現問題。使你的結構像 -
併發送整個選擇框從ajax響應並填充到div(document.getElementById(「selectResponse」)。innerHTML = xmlhttp.responseText;) – Techroshni