4 回答

TA貢獻(xiàn)1966條經(jīng)驗 獲得超4個贊
我想你需要的是一個事件監(jiān)聽器,當(dāng)用戶更改下拉列表時,你將調(diào)用不同的 api。這里我添加了事件監(jiān)聽器,當(dāng)下拉菜單發(fā)生變化時,它會調(diào)用你的 showDropdown 函數(shù)。
$('.New_Plant_Month').change((e) => {
showDropDown(e.target.value);
})
這是代碼
function showDropDown(selectedMonth) {
console.log(selectedMonth);
var settings = {
"url": "",
"method": "GET",
"timeout": 0,
};
switch (selectedMonth) {
case 'Januar':
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/1"
break;
case 'Februar':
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/2"
break;
case "M?rz":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/3"
break;
case "April":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/4"
break;
case "Mai":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/5"
break;
case "Juni":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/6"
break;
case "Juli":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/7"
break;
case "August":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/8"
break;
case "September":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/9"
break;
case "Oktober":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/10"
break;
case 'November':
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/11"
break;
case 'Dezember':
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/12"
break;
default:
// code block
}
alert(settings.url);
}
// show months
$(document).ready(function() {
for (var i = 0; i < 6; i++) {
var d = new Date();
var months = ["Januar", "Februar", "M?rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
var monthName = months[new Date(d.setMonth(d.getMonth() - i)).getMonth()];
//console.log(monthName);
$('.New_Plant_Month').append($("<option>").val(monthName).text(monthName));
}
var month = $(".New_Plant_Month option:selected").text() + "";
showDropDown(month);
$('.New_Plant_Month').change((e) => {
showDropDown(e.target.value);
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="New_Plant_Month"></select>

TA貢獻(xiàn)1796條經(jīng)驗 獲得超10個贊
<select>我發(fā)現(xiàn)的唯一解決辦法是在頁面加載時通過 jquerychange偵聽器以編程方式觸發(fā),否則永遠(yuǎn)var selectedMonth不會switch通過..如上面的 gif 屏幕截圖所示。
無論如何,這是解決辦法。
$(document).ready(function () {
.
.
.
$('.New_Plant_Month')
.trigger('change');
});

TA貢獻(xiàn)1799條經(jīng)驗 獲得超9個贊
請嘗試此代碼,切換語句在 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>
我希望這段代碼對您有用。

TA貢獻(xiàn)1848條經(jīng)驗 獲得超6個贊
代碼的順序必須有點不同 - 就像這樣:
function showDropDown(selectedMonth) {
alert(selectedMonth);
var settings = {
"url": "",
"method": "GET",
"timeout": 0,
};
switch (selectedMonth) {
case 'Januar':
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/1"
break;
case 'Februar':
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/2"
break;
case "M?rz":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/3"
break;
case "April":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/4"
break;
case "Mai":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/5"
break;
case "Juni":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/6"
break;
case "Juli":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/7"
break;
case "August":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/8"
break;
case "September":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/9"
break;
case "Oktober":
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/10"
break;
case 'November':
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/11"
break;
case 'Dezember':
settings.url = "https://sslbeta.de/api/plantsearchapi/latest/12"
break;
default:
// code block
}
alert(settings.url);
}
// show months
$(document).ready(function() {
for (var i = 0; i < 6; i++) {
var d = new Date();
var months = ["Januar", "Februar", "M?rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
var monthName = months[new Date(d.setMonth(d.getMonth() - i)).getMonth()];
//console.log(monthName);
$('.New_Plant_Month').append($("<option>").val(monthName).text(monthName));
}
var month = $(".New_Plant_Month option:selected").text() + "";
showDropDown(month);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="New_Plant_Month"></select>
添加回答
舉報