Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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
switch语句在javascript中不起作用_Javascript - Fatal编程技术网

switch语句在javascript中不起作用

switch语句在javascript中不起作用,javascript,Javascript,我遇到一个问题,javascript函数获取一个varselectedMonth,它是一个字符串,警报对话框显示字符串的值,但由于某种原因switch语句不起作用。我在页面加载时遇到了这个问题,它确实适用于onchange侦听器 在这种情况下,我会收到警报Dezember,但不会调用switch语句december 功能显示下拉列表(选择月){ 警报(选择每月); 变量设置={ “url”:“, “方法”:“获取”, “超时”:0, }; 开关(选择月){ “一月”案: settings.ur

我遇到一个问题,javascript函数获取一个var
selectedMonth
,它是一个字符串,警报对话框显示字符串的值,但由于某种原因switch语句不起作用。我在页面加载时遇到了这个问题,它确实适用于
onchange侦听器

在这种情况下,我会收到警报
Dezember
,但不会调用switch语句december

功能显示下拉列表(选择月){
警报(选择每月);
变量设置={
“url”:“,
“方法”:“获取”,
“超时”:0,
};
开关(选择月){
“一月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/1"
打破
“2月”号案件:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/2"
打破
“März”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/3"
打破
“四月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/4"
打破
“Mai”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/5"
打破
案例“Juni”:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/6"
打破
“Juli”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/7"
打破
“八月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/8"
打破
“9月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/9"
打破
案例“Oktober”:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/10"
打破
案件‘十一月’:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/11"
打破
“Dezember”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/12"
打破
违约:
//代码块
}
警报(settings.url);
}
$(“.New\u Plant\u Month”)。更改(功能(){
//取值
var month=$(this.val();
摊牌(月);
});
//演出月份
$(文档).ready(函数(){
var month=$(“.New\u Plant\u month选项:选中”).text()+”;
摊牌(月);
对于(变量i=0;i<6;i++){
var d=新日期();
var月数=[“1月”、“2月”、“马尔兹”、“4月”、“Mai”、“Juni”、“Juli”、“8月”、“9月”、“Oktober”、“11月”、“Dezember”];
var monthName=months[新日期(d.setMonth(d.getMonth()-i)).getMonth()];
//控制台日志(monthName);
$('.New\u Plant\u Month')。追加($(“”).val(monthName.text(monthName));
}
});

代码的顺序应该有点不同-就像这样:

功能显示下拉列表(选择月){
警报(选择每月);
变量设置={
“url”:“,
“方法”:“获取”,
“超时”:0,
};
开关(选择月){
“一月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/1"
打破
“2月”号案件:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/2"
打破
“März”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/3"
打破
“四月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/4"
打破
“Mai”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/5"
打破
案例“Juni”:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/6"
打破
“Juli”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/7"
打破
“八月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/8"
打破
“9月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/9"
打破
案例“Oktober”:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/10"
打破
案件‘十一月’:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/11"
打破
“Dezember”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/12"
打破
违约:
//代码块
}
警报(settings.url);
}
//演出月份
$(文档).ready(函数(){
对于(变量i=0;i<6;i++){
var d=新日期();
var月数=[“1月”、“2月”、“马尔兹”、“4月”、“Mai”、“Juni”、“Juli”、“8月”、“9月”、“Oktober”、“11月”、“Dezember”];
var monthName=months[新日期(d.setMonth(d.getMonth()-i)).getMonth()];
//控制台日志(monthName);
$('.New\u Plant\u Month')。追加($(“”).val(monthName.text(monthName));
}
var month=$(“.New\u Plant\u month选项:选中”).text()+”;
摊牌(月);
});

请尝试此代码,以切换不在javascript中工作的语句

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var grade = 'C';
            document.write("Entering switch block<br />");
            switch (grade) {
               case 'A': document.write("Good job<br />");
               break;
            
               case 'B': document.write("Pretty good<br />");
               break;
            
               case 'C': document.write("Passed<br />");
               break;
            
               case 'D': document.write("Not so good<br />");
               break;
            
               case 'F': document.write("Failed<br />");
               break;
            
               default:  document.write("Unknown grade<br />")
            }
            document.write("Exiting switch block");
         //-->
      </script>      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

将变量设置为不同的值,然后重试

我希望这段代码对你有用


谢谢。

我想您需要的是一个事件侦听器,当用户更改下拉列表时,您将调用不同的api。这里我添加了事件监听器,当下拉列表更改时,它将调用您的showDropdown函数

$('.New_Plant_Month').change((e) => {
 showDropDown(e.target.value);
})
这是密码

功能显示下拉列表(选择月){
console.log(选择每月);
变量设置={
“url”:“,
“方法”:“获取”,
“超时”:0,
};
开关(选择月){
“一月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/1"
打破
“2月”号案件:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/2"
打破
“März”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/3"
打破
“四月”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/4"
打破
“Mai”案:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/5"
打破
案例“Juni”:
settings.url=”https://sslbeta.de/api/plantsearchapi/latest/6"
打破
“Juli”案:
        $(document).ready(function () {
              .
              .
              .

            $('.New_Plant_Month')
                .trigger('change');

        });