Javascript 显示:无;div不会显示onchange()
我有一些div被设置为显示:none;和应在更改选择菜单后显示。 下面是有问题的html:Javascript 显示:无;div不会显示onchange(),javascript,Javascript,我有一些div被设置为显示:none;和应在更改选择菜单后显示。 下面是有问题的html: <p> <label for="newsletter">Package</label> <select id="package" name="package" onchange="formupdate();"> <option value="individual">Individua
<p>
<label for="newsletter">Package</label>
<select id="package" name="package" onchange="formupdate();">
<option value="individual">Individual</option>
<option value="couple">Couple</option>
<option value="family">Family</option>
</select>
</p>
<div id="famnumdiv" style="display:none;">
<p>
<label for="famnum">How Many Members?</label>
<input type="text" id="famnum" name="famnum"/>
</p>
</div>
从“选择”菜单中选择“族”时,不会发生任何操作。有什么想法吗
编辑:更改为if selectedPackage=='family'{,它仍然不显示您两次分配给selectedPackage的div
第三行应该是:
if ( selectedPackage == 'family' ) {
尝试将代码更改为
function formupdate() {
var selectedPackage = document.getElementById("package").value;
if ( selectedPackage == 'family' ) {
document.getElementByID('famnumdiv').style.display = "block";
}
}
如果在If语句中使用selectedPackage='family',则selectedPackage的值将被设置为'family',其中两个=If语句将执行匹配使用此选项,它将使相等性更好
if ( selectedPackage === 'family' )
将族指定给selectedPackage而不是比较
此外,您没有正确选择所选选项
var selectedPackage = document.getElementById("package");
selectedPackage = selectedPackage.options[selectedPackage.selectedIndex].value;
您也不应该使用内联js,添加一个eventListener
var package = document.getElementById("package");
package.addEventListener("change",formupdate,false);
您的第二个getElementByID不正确请尝试此getElementByID
javascript是区分大小写的True,但是selectedPackage='family'语句不应该总是True吗?在这种情况下,famnumdiv会在每次更改时出现……这让我觉得if语句不是唯一的语句issue@Mabedan你说得对。做了更改,但仍然没有显示div@CriketX请偷看我的答案,你会知道的请看,您没有正确选择选项。还有@EN20提到的getElementByID输入错误,如果您打开控制台,它肯定会显示为一个错误……虽然所有这些关于使用=vs==或===的答案都是正确的,但该条件的计算结果为true,这意味着代码中还有其他已解决的问题。错误D,dand=,=,使用:selectedPackage=='family'?famnumdiv.display='block':famnumdiv.display='none'
var package = document.getElementById("package");
package.addEventListener("change",formupdate,false);