使用javascript更新html标记
[已解决] 下面的代码应该检查第一个下拉选择菜单的值,id=country,并根据当前选择的值更改第二个菜单的下拉选项。下面是我试图解决这个问题,但它不工作:任何帮助 编辑:我开始认为“var country”的值在手动更改时没有更新,可能是onChange不起作用吗?我使用的是chrome,所以应该支持它使用javascript更新html标记,javascript,html,Javascript,Html,[已解决] 下面的代码应该检查第一个下拉选择菜单的值,id=country,并根据当前选择的值更改第二个菜单的下拉选项。下面是我试图解决这个问题,但它不工作:任何帮助 编辑:我开始认为“var country”的值在手动更改时没有更新,可能是onChange不起作用吗?我使用的是chrome,所以应该支持它 <div id="forum2"> <form action="#forumhandler.php"> <fieldset&g
<div id="forum2">
<form action="#forumhandler.php">
<fieldset>
<legend>Shipping Calculator</legend>
Country:<br>
<select id="country" onChange='fieldcheck()'>
<option value="us">United States</option>
<option value="canada">Canada</option>
</select>
<br><br>
Province/State:<br>
<select id="state" >
<option value="s1">Ontario</option>
<option value="s2">Quebec</option>
</select>
</fieldset>
</form>
</div>
<script>
var country = document.getElementById("country");
var state = document.getElementById("state");
function fieldcheck() {
if (country.value == "us") {
state.options[0].value = "U1";
state.options[1].value = "U2";
} else if(country.value == "canada"){
state.options[0].value = "C1";
state.options[1].value = "C2";
}
}
</script>
尝试将脚本标记放在结束正文标记之前。在当前位置,它试图确定state的值,该值为null,因为当该文档选择器行运行时,id为state的元素不存在
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var country = document.getElementById("country");
var state = document.getElementById("state");
});
function fieldCheck() {
if (country.value == "us") {
state.options[0].value = "U1";
state.options[1].value = "U2";
} else if(country.value == "canada"){
state.options[0].value = "C1";
state.options[1].value = "C2";
}
alert("first option value is " + state.options[0].value + " and second option value is " + state.options[1].value);
}
</script>
这是你的工作代码。希望它能帮助您解决控制台中的错误?我使用记事本+,不幸的是,我没有安装调试器n控制台插件。所以您希望我们为您调试它?您使用的浏览器没有开发工具??哈哈,我现在明白了,我没有控制台错误。n我想知道我的名字是否帮助您告诉我-1 XY您在更改所选国家/地区时出现错误,因为国家/地区id为空,请尝试在inspect元素中查看控制台,例如firebugTry将您的标记放在结束标记之前,抱歉,但我不确定这是什么意思,这是否意味着我将脚本标记放在id=forum2的div的结束标记之后?html元素的标准组织是:您的内容位于开始标记和结束标记之间。建议的标签位置就在结束标签之前。在身体内所有其他内容之后的意思。这确保了您试图对DOM元素进行的任何操作都能正常工作,因为这些元素已经加载到页面上。如果试图在元素添加到页面之前对其进行更改,代码将无法正常运行。我尝试将脚本标记放在的结束标记之后、的结束标记之前以及结束正文标记之后/之前。检查后,我仍然无法在运行页面时输出所需的结果。我没有在上面的空白处上传我所有的代码,但是上面所有的代码都在body标签中-下面是我如何按标签组织的谢谢你的回复,但不幸的是,代码也不起作用。你可以在inspect元素中看到结果,你只想更改值或整个选项吗?是的,谢谢宝贝!我试图更新.innerHTML,但我只是在更新值x。。谢谢你,我希望我能给你一些好的分数