Javascript 隐藏和显示DIV';根据所选选项,从不同列中删除

Javascript 隐藏和显示DIV';根据所选选项,从不同列中删除,javascript,jquery,forms,Javascript,Jquery,Forms,我的表单必须隐藏()字段(示例中为div),这取决于从#note type中选择的值。我知道如何只从一列隐藏块,但不知道如何一次隐藏不同列中的元素?下面的代码请告诉我我的js错误是什么,因为我对这种语言非常陌生 <form method="POST" action="#"> <select name="note_type_id" id="note_type"> <option value="1">1</option> <op

我的表单必须隐藏()字段(示例中为div),这取决于从#note type中选择的值。我知道如何只从一列隐藏块,但不知道如何一次隐藏不同列中的元素?下面的代码请告诉我我的js错误是什么,因为我对这种语言非常陌生

<form method="POST" action="#">

<select name="note_type_id" id="note_type">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
</select>

<div class="flex">
    <div class="first-column">
        <div>
            <div>some info</div>
            <div id="class-one">sdsdsds</div>
        </div>
    </div>
    <div class="second-column" id="class-two"> 
        <div>some info</div>
        <div>some info</div>
    </div>
</div>
</form>

<script>
       $(document).ready(function () {
            toggleFields();
            $("#note_type").change(function () {
                toggleFields();
            });
        });
        function toggleFields() {
            if ($("#note_type").val() === "5")
                $("#class-one").hide();
                $("#class-two").hide(); - Problem is here
            else if ($("#note_type").val() === "6")
                $("#class-one").hide();
                $("#class-two").hide(); - Problem is here
            else
                $("#class-one").show();
                $("#class-two").show(); - Problem is here
        }
    </script>

1.
2.
3.
4.
5.
6.
一些信息
SDS
一些信息
一些信息
$(文档).ready(函数(){
切换字段();
$(“#注释_类型”)。更改(函数(){
切换字段();
});
});
函数toggleFields(){
如果($(“#注释类型”).val()=“5”)
$(“#第一类”).hide();
$(“#第二类”).hide();-问题就在这里
else if($(“#注释类型”).val()=“6”)
$(“#第一类”).hide();
$(“#第二类”).hide();-问题就在这里
其他的
$(“第一类”).show();
$(“#第二类”).show();-问题就在这里
}

尝试替换你的函数,据我所知,在5+6选项的情况下,你需要隐藏那些div,否则就显示它们

function toggleFields() {
    switch ($("#note_type").val()) {
        case "5":
        case "6":
            $("#class-one").hide();
            $("#class-two").hide();
            break;
        default:
            $("#class-one").show();
            $("#class-two").show();
            break;
    }
}
您的代码不包含函数括号
如果([expression]){…[do something]…}

来自:

如果(条件)

声明1

[其他

声明2]

声明1

如果条件真实,则执行的语句。可以是任何语句,包括进一步嵌套的if语句。要执行多条语句,请使用块语句({…})对这些语句进行分组。要不执行任何语句,请使用空语句

因此,您的问题与缺少块有关(即:{})

$(“#注释_类型”)。关于('change',函数(e){
切换字段();
}).trigger('change');//通过这种方式,您可以立即调用函数。。。
函数toggleFields(){
如果($(“#注释类型”).val()=“5”){
$(“#第一类”).hide();
$(“第二类”).hide();
}else if($(“#注释类型”).val()=“6”){
$(“#第一类”).hide();
$(“第二类”).hide();
}否则{
$(“第一类”).show();
$(“第二类”).show();
}
}

1.
2.
3.
4.
5.
6.
一些信息
SDS
一些信息
一些信息

与php无关,请不要用不相关的语言标记它。我把它删掉了。谢谢你的解释,现在我明白了!