Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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 在dropdownList中调用JS函数_Javascript_Html_Function - Fatal编程技术网

Javascript 在dropdownList中调用JS函数

Javascript 在dropdownList中调用JS函数,javascript,html,function,Javascript,Html,Function,我编写了一些函数来显示JSON中的数据,在下拉列表中有不同的函数,这样用户就可以选择他们想要看到的内容 <div class="ex-basic-2"> <label for="Charts">Sort your Data:</label> <select name="Charts" id="chartData_Chage" onchange=&quo

我编写了一些函数来显示JSON中的数据,在下拉列表中有不同的函数,这样用户就可以选择他们想要看到的内容

   <div class="ex-basic-2">
        <label for="Charts">Sort your Data:</label>

<select name="Charts" id="chartData_Chage" onchange="changeData(this)">
  <option value="1">Top 5 Countries - Heights Cases</option>
  <option value="2">Top 5 Countries - Heights Deaths</option>
  <option value="3">Top 5 Countries - Most Recovered</option>
  <option value="4">All Countries - Cases</option>
</select>
        <div class="container">
            <canvas id="chart" style="height: 400px ; width: 800px;"></canvas>
        </div> <!-- end of container -->
    </div>
当我选择下拉框时,方法工作正常,但当我离开它并将鼠标悬停在聊天数据栏上时,数据会发生变化(不同的人会得到调用)


有什么想法吗?

您需要从选择列表中删除
onchange=“changeData(this)”

它也是
change
而不是
onchange

您也可以使用此:

function changeData() { 
   if (this.value == '1') createBarChart(); 
   else if (this.value == '2') createBarChartMostDeaths()
...
const createBarChart=()=>{
console.log(“创建”)
}
常量CreateBarChartmostDeath=()=>{
console.log(“创建大多数死亡”)
}
const createBarChartMostRecoverys=()=>{
console.log(“创建大多数恢复”)
}
函数changeData(){
如果(this.value='1'){
createBarChart()
}else if(this.value==“2”){
createBarChartMostDeaths()
}else if(this.value==“3”){
createBarChartMostRecoverys()
}
}
addEventListener(“加载”,函数(){
const menu=document.getElementById(“图表数据更改”)
menu.addEventListener(“更改”,changeData);/“更改”不是“一次更改”
菜单值=1;
createBarChart()
})

对数据进行排序:
前五名国家-高度病例
前五名国家-高死亡率
前五名国家-恢复最快
所有国家-案例

您需要从选择列表中删除
onchange=“changeData(this)”

它也是
change
而不是
onchange

您也可以使用此:

function changeData() { 
   if (this.value == '1') createBarChart(); 
   else if (this.value == '2') createBarChartMostDeaths()
...
const createBarChart=()=>{
console.log(“创建”)
}
常量CreateBarChartmostDeath=()=>{
console.log(“创建大多数死亡”)
}
const createBarChartMostRecoverys=()=>{
console.log(“创建大多数恢复”)
}
函数changeData(){
如果(this.value='1'){
createBarChart()
}else if(this.value==“2”){
createBarChartMostDeaths()
}else if(this.value==“3”){
createBarChartMostRecoverys()
}
}
addEventListener(“加载”,函数(){
const menu=document.getElementById(“图表数据更改”)
menu.addEventListener(“更改”,changeData);/“更改”不是“一次更改”
菜单值=1;
createBarChart()
})

对数据进行排序:
前五名国家-高度病例
前五名国家-高死亡率
前五名国家-恢复最快
所有国家-案例

您只需在select标记中设置事件,如下所示

<select id="sel" onchange='changeData(this)'>


下面是一个完整的示例:()

您只需要在select标记中设置事件,如下所示

<select id="sel" onchange='changeData(this)'>


这里有一个完整的例子:()

谢谢你的帮助。是的,刚开始学习JS,我的JS代码布局到处都是。快速问题如何设置下拉列表中的值1始终在开始时调用@谢谢你的努力。是的,刚开始学习JS,我的JS代码布局到处都是。快速问题如何设置下拉列表中的值1始终在开始时调用@姆普隆詹