我不知道我是否只是在想这个或者什么。我只是希望能够根据我从通话中得到的结果选择一个特定的选项。目前,呼叫根据邮政编码生成城市,州,国家。 GET的响应是“萨克拉门托| CA |美国”我可以轻松地将响应放入输入框,但我无法弄清楚如何根据响应选择一个选项。这可能吗?我一直在寻找一些方法属性,我真的没有看到任何我可以使用的东西。
这是Get脚本。
<script type="text/javascript">
var req;
var oldData;
var doesNotSupport = true;
function getAddress(url, number)
{
if (number == "" || oldData == number || !doesNotSupport)
return;
oldData = number;
document.getElementById('city').value = "Searching ...";
document.getElementById('state').value = "Searching ...";
document.getElementById('country').value = "Searching ...";
if (window.XMLHttpRequest) {
req = new XMLHttpRequest;
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url + '?number=' + number + '&zip=' + number, true);
req.send(null);
} else {
alert("Your browser does not support XMLHttpRequest technology!");
doesNotSupport = false;
}
}
</script>
这是响应脚本
<script type="text/javascript">
function processReqChange() {
// only if req shows "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
var Result = req.responseText.split("|");
document.getElementById('city').value = Result[0];
document.getElementById('state').value = Result[1];
This is the problem child.
document.getElementById('country').value = Result[2];
} else {
alert("There was a problem retrieving the XML data:\n" + req.statusText);
}
}
}
</script>
选项设置
<option name="(abbr.)" value="(full name)">Full Name</option>
即
<option name="CA" value="California">California</option>
我只是在寻找替换.value属性的东西。像document.getElementById('state').childNode.attribute.name = Result[1]
之类的东西
以下是整页文件http://ge.tt/99dJ1J9?c
答案 0 :(得分:0)
使用此选项设置SELECT对象中的值(以下代码用于城市):
var selObject = document.getElementById('city_select_id');
selObject.value = document.getElementById('city').value; //value received in the response
答案 1 :(得分:0)
问题是您没有选项值中的状态的缩写,并且响应包含缩写。
另外,我会推荐一些javascript框架。它可以帮助您解决Ajax,表单验证等常见问题。
只需google javascript框架,找到最适合您需求的框架: - )