Javascript 显示:无;div不会显示onchange()

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

我有一些div被设置为显示:none;和应在更改选择菜单后显示。 下面是有问题的html:

    <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);