我是 javascript 新手,必须查看这里和其他地方与此问题相关的几乎所有以前的问题,但似乎没有一个能解决问题,因为它们使用 asp、php、Ajax 等。我将 jQuery 代码用于其他几个项目页面,并发现他们的 css 会导致我的页面出现问题,而且我也不热衷于使用它。
就我而言,有没有办法从下拉框中选择一个国家/地区,然后显示一个带有该国家/地区的州或省的下拉框。我的代码如下所示,但是当我运行它时,它会显示所有 DIV,而不仅仅是适用于所选国家/地区的 DIV。如果一个国家没有州/省,它将只显示 0 值。我想知道此代码有什么问题。
第二个问题是,页面以默认国家/地区及其州/省开始,但由于我在国家/地区选择上使用 onChange,因此不会触发 javascript,因为最初没有更改。无论如何,即使我确实更改了默认国家/地区,无论如何都会显示所有 DIV。
是否可以显示默认国家/地区的州/省,并仍然使用 javascript 对默认选择所做的任何更改。它没有在下面的示例中显示这一点,但国家和相关州/省的值来自数据库,因此不能合并到 javascript 中。
任何帮助或建议将不胜感激。
<TABLE>
<TR><TD>Country</DIV></TD>
<TD><SELECT NAME="countryid" onChange="showstate(this.options[this.selectedIndex].value)">
<OPTION VALUE="NONE">Select a country</OPTION>
<OPTION VALUE="CA" SELECTED>Canada</OPTION>
<OPTION VALUE="US">United States</OPTION>
<OPTION VALUE="ES">Spain</OPTION>
</SELECT></TD>
</TR>
<script>
function showstate(country) {
if (country == "CA") {
hiddenDivUS.style.display='none';
hiddenDivNONE.style.display='none';
hiddenDivCA.style.display='block';
}
else {
if (country == "US") {
hiddenDivCA.style.display='none';
hiddenDivNONE.style.display='none';
hiddenDivUS.style.display='block';
}
else {
hiddenDivCA.style.display='none';
hiddenDivUS.style.display='none';
hiddenDivNONE.style.display='block';
}
}
</script>
<DIV ID="hiddenDivNONE" STYLE="display:none">
<TR><TD><DIV CLASS="inputlabel">Prov/State</DIV></TD>
<TD><INPUT TYPE="hidden" NAME="provid" VALUE="0"></TD>
</TR>
</DIV>
<DIV ID="hiddenDivCA" STYLE="display:none">
<TR><TD><DIV CLASS="inputlabel">Prov/State</DIV></TD>
<TD><SELECT NAME="provid">
<OPTION VALUE="101">British Columbia</OPTION>
.......
<OPTION VALUE="165">Yukon Territories</OPTION>
</SELECT></TD>
</TR>
</DIV>
它没有列出正确的 DIV,而是显示了所有三个
慕田峪4524236
慕的地10843
慕桂英546537
相关分类