我完整的JavaScript代码是https://jsfiddle.net/JSstarter/0t98gbg3/.
下拉列表有效,但是在我添加setFormat函数之后,下拉列表停止工作,并且不显示语言环境列表.
有人可以帮助我如何修复JavaScript部分以获得下拉列表以及setFormat函数正常工作吗?
<p id="demo">Please select a locale to show data.</p>
<div class="dropdown">
<button onclick="myFunction()" class="dropbtn">Locales</button>
<div id="locale" class="dropdown-content">
<a href="#enUS" onclick="setFormat('en-US')">en-US</a>
<a href="#koKR" onclick="setFormat('ko-KR')">ko-KR</a>
<a href="#zhCN" onclick="setFormat('zh-Hans-CN')">zh-Hans-CN</a>
<a href="#jaJP" onclick="setFormat('ja-JP')">ja-JP</a>
<a href="#deDE" onclick="setFormat('de-DE')">de-DE</a>
<a href="#ruRU" onclick="setFormat('ru-RU')">ru-RU</a>
<a href="#arSA" onclick="setFormat('ar-SA')">ar-SA</a>
</div>
</div>
<script>
function myFunction() {
document.getElementById("locale").classList.toggle("show");
}
setFormat(locale) {
var date = new Date(2016, 1, 14, 0, 0, 0);
document.getElementByID("demo").innerHTML = new Intl.DateTimeFormat('en- US').format(date);
document.getElementByID("demo").innerHTML = new Intl.NumberFormat('en-US').format(1234.56);
};
</script>
解决方法:
超级容易修复.在setFormat(locale)之前缺少“功能”一词.我也注意到您正在传递变量’locale’,但实际上并未在函数中使用它.我认为您稍后可能需要它,但只需指出.
<script>
function setFormat(locale) {
var date = new Date(2016, 1, 14, 0, 0, 0);
document.getElementByID("demo").innerHTML = new Intl.DateTimeFormat('en-US').format(date);
document.getElementByID("demo").innerHTML = new Intl.NumberFormat('en-US').format(1234.56);
};
function myFunction() {
document.getElementById("locale").classList.toggle("show");
}
</script>