gpt4 book ai didi

php - 无法通过 getElementById 操作 AJAX 下拉列表

转载 作者:行者123 更新时间:2023-11-29 14:50:06 24 4
gpt4 key购买 nike

我用它来拉下拉列表:

function showRecords(str,column,nextDiv) {
if (str== null) {
document.getElementById(nextDiv).innerHTML="----------------------------------------";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
var xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById(nextDiv).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getRecords.php?"+column+"="+str,true);
xmlhttp.send();
}

页面加载正常,但是,当您查看源信息时,没有来自 AJAX 的任何内容,因此我无法通过 getElementById 操作下拉列表的任何值,是这样吗正常吗?

<小时/>

澄清

实际的 ID 本身位于主页上,但所有选项都是从另一个页面导入的。我无法特别使用此代码:

<?php echo "document.getElementById('province').value =\"Abim\";";?> 

因为这些国家在这个页面上不存在,所以它们是导入的值,不仅如此,页面上唯一的就是这个...

<option value = >--------------------</option>
<option value="Abim">Abim</option>
<option value="Adjumani">Adjumani</option>
<option value="Amolatar">Amolatar</option>
<option value="Amuria">Amuria</option>
... etc

这里全部插入

<select name =province class=dropdown id=province></select>

凭借 id。

<小时/>

解决方案

通过 AJAX 函数传递另一个变量:oldVal ($_REQUESTed Value)

...
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(nextDiv).innerHTML = xmlhttp.responseText;
---------> document.getElementById(nextDiv).value = oldVal;
}
}

最佳答案

您无法使用province做任何有用的事情。元素,直到它被 AJAX 调用填充。您必须移动这段 JavaScript:

document.getElementById('country').value = "Uganda";

进入 AJAX 回调:

xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(nextDiv).innerHTML = xmlhttp.responseText;
document.getElementById('country').value = "Uganda";
}
};

或者类似的东西。您对 nnnnnn 的评论是关于国家/地区列表,但您更新的问题是关于省份列表,所以我不确定哪一个是您的问题;但是,我很确定根本的问题是您正在设置 <select> 的值在您填充 <select> 之前使用 AJAX 调用,解决方案是在使用 AJAX 调用中的 HTML 更新 DOM 后在 AJAX 回调中设置值。

关于php - 无法通过 getElementById 操作 AJAX 下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5945072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com