Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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
addEventListener onchange下拉选择值Javascript_Javascript_Html - Fatal编程技术网

addEventListener onchange下拉选择值Javascript

addEventListener onchange下拉选择值Javascript,javascript,html,Javascript,Html,我试图根据下拉框选择的值运行2个函数 代码: var activities=document.getElementById(“stand”); activities.addEventListener(“更改”,函数(){ 如果(activities.options[activities.selectedIndex].value==“stand1”){ var footRight=新的三点网格(新的三点长方体几何体(.040,0.55,0.05),墙材质; 左分区。添加(右下); 右脚位置设定(-

我试图根据下拉框选择的值运行2个函数

代码:

var activities=document.getElementById(“stand”);
activities.addEventListener(“更改”,函数(){
如果(activities.options[activities.selectedIndex].value==“stand1”){
var footRight=新的三点网格(新的三点长方体几何体(.040,0.55,0.05),墙材质;
左分区。添加(右下);
右脚位置设定(-0.12,-0.11,2);
}否则{
var footRight=新的三点网格(新的三点长方体几何体(.040,0.55,0.05),墙材质;
左分区。添加(右下);
右脚。位置。设置(-4.12,-8.9,6);
}
});

选择支架类型:
站1
看台2
问题是,即使下拉列表中的值不断更改,上述任何函数都不会触发

当下拉列表中的值更改时,我尝试打印一些内容;但是,任何东西都没有打印出来


更改下拉列表中的值时出现控制台错误。控制台错误仅在更改值时弹出。这就是为什么我没有注意到。上面说

墙体材料未定义


正如您所看到的,在删除所有不必要的代码后,这个简单的代码段可以正常工作:

const activities=document.getElementById('stand');
活动。addEventListener('change',(e)=>{
log(`e.target.value=${e.target.value}`);
log(`activities.options[activities.selectedIndex].value=${activities.options[activities.selectedIndex].value}`);
});

站1
看台2

您可以使用
此.value
访问回调函数中所选选项的值:

   document.getElementById('stand').onChange = function(){  
        console.log(this.value);
    });

您是否已检查浏览器控制台是否存在错误?如果不是的话,我建议你这么做。@NewToJS是的,我确实这么做了。控制台中没有错误。JavaScript文件链接到HTML页面的位置在哪里?在
中的某个地方?如果是后者,是在
元素之前还是之后?我在没有网格函数的情况下进行了测试,它没有问题。可能Mesh函数发生了一些问题,您应该检查控制台。@Phil我确实在索引文件的开头包含了JS文件。我才知道问题是什么。更改下拉列表中的值时出现控制台错误。控制台错误仅在更改值时弹出。这就是为什么我没有注意到。上面写着“墙体材料未定义”。我会设法解决这个问题。谢谢你的帮助!所以这篇文章并不能真正解决问题。我建议您发布到“评论”部分,因为这尚未修复或解释当前问题。@NewToJS根据标题和收件人,当下拉列表中的值更改时,我尝试打印一些内容;但是,任何东西都没有打印出来。在我看来,这至少有助于指出问题的原因,并通过一个非常简单的工作示例提供证据。“可能有什么地方出错了”OP已确认存在错误,因此您的第一个点在钱上是正确的