Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-选择选项时在下拉菜单中隐藏选项_Javascript_Html_Wordpress - Fatal编程技术网

JavaScript-选择选项时在下拉菜单中隐藏选项

JavaScript-选择选项时在下拉菜单中隐藏选项,javascript,html,wordpress,Javascript,Html,Wordpress,我在网站上有一个表格,通过WordPress制作,使用BeTheme和联系表格7。一个下拉列表有两个选项:“Vormittag’Session”和“Abend Session”,另一个有5个选项:“Premium”、“PK1”、“PK2”、“PK3”、“Famille”。如果选择了“异常终止会话”,我希望“PK1”、“PK2”和“PK3”消失 以下是两种表单的HTML: <span class="wpcf7-form-control-wrap menu-772"> <sele

我在网站上有一个表格,通过WordPress制作,使用BeTheme和联系表格7。一个下拉列表有两个选项:“Vormittag’Session”和“Abend Session”,另一个有5个选项:“Premium”、“PK1”、“PK2”、“PK3”、“Famille”。如果选择了“异常终止会话”,我希望“PK1”、“PK2”和“PK3”消失

以下是两种表单的HTML:

<span class="wpcf7-form-control-wrap menu-772">
 <select name="menu-772" class="wpcf7-form-control wpcf7-select wpcf7-validates-as-required" aria-required="true" aria-invalid="false">
      <option value="Vormittag Session">Vormittag Session</option>
      <option value="Abend Session">Abend Session</option>
 </select>
在上面的JS代码中,想法是调用两个列表x和y,如果x中的值是“Abend Session”,则删除y中的位置2、3和4。我走对了还是太远了?

试试
x[0]。value==“异常终止会话”
。并在选择更改时调用
hideValues()

document.getElementsByName
返回HTML文档中具有给定名称的节点列表集合。因此,要选择第一项,请使用
x[0]

或者您可以使用
element=document.querySelector(选择器)这将返回文档中与指定选择器或选择器组匹配的第一个元素

如果删除一个选项,索引也会更改。因此,对于删除
PK1、PK2、PK3
。您可以简单地使用
y[0]。删除(1)三次或先删除最后一个索引的选项

函数hideValues(){
var x=document.getElementsByName(“菜单-772”);
var y=document.getElementsByName(“菜单-634”);
如果(x[0]。值==“异常终止会话”){
y[0]。删除(3);
y[0]。删除(2);
y[0]。删除(1);
}
}

沃米特会议
异常终止会话
PremiumPK1
PK2
PK3
家庭

在这里,试试这个。现在,选择PK值的位置并不重要

        function hideValues()
        {
            var Abend = ["PK1", "PK2", "PK3"];
            var x = document.getElementsByName("menu-772");
            var src = document.getElementsByName("menu-634")[0]

            if (x[0].value == "Abend Session")
            {
                for (var count = src.options.length - 1; count >= 0; count--)
                {
                    if (Abend.indexOf(src.options[count].value) != -1)
                    {
                        src.remove(count, null);
                    }
                }
            }
        }

x、 value=“Abend Session”是赋值,而不是比较。另外,在什么上下文中使用hideValues()函数?这应该在下拉列表的“更改”事件侦听器上使用。
function hideValues(){
    var x = document.getElementsByName("menu-772");
    var y = document.getElementsByName("menu-634");
         if(x.value="Abend Session")
        {
            y.remove(2);
            y.remove(3);
            y.remove(4);       
         }
}
        function hideValues()
        {
            var Abend = ["PK1", "PK2", "PK3"];
            var x = document.getElementsByName("menu-772");
            var src = document.getElementsByName("menu-634")[0]

            if (x[0].value == "Abend Session")
            {
                for (var count = src.options.length - 1; count >= 0; count--)
                {
                    if (Abend.indexOf(src.options[count].value) != -1)
                    {
                        src.remove(count, null);
                    }
                }
            }
        }