Javascript 根据HTML中的选项标记,以不同语言显示一周中的日期
我试图用HTML显示一周中的天数,根据选择的语言选项,用不同的语言显示,然后按下“计算”按钮,应该在标签标签的右侧显示天数。但这并不是完全按照计划进行的 在网上查了好一阵子,找到了一些对我有帮助的东西,但不完全是100%Javascript 根据HTML中的选项标记,以不同语言显示一周中的日期,javascript,html,Javascript,Html,我试图用HTML显示一周中的天数,根据选择的语言选项,用不同的语言显示,然后按下“计算”按钮,应该在标签标签的右侧显示天数。但这并不是完全按照计划进行的 在网上查了好一阵子,找到了一些对我有帮助的东西,但不完全是100% <form style="margin-bottom: 30px;"> <label>Select language:</label> <select class="lang"> <option
<form style="margin-bottom: 30px;">
<label>Select language:</label>
<select class="lang">
<option value="en">En</option>
<option value="ro">Ro</option>
<option value="fr">Fr</option>
</select>
<label class="showDays"></label>
<br>
<button type="button" onClick="displayLang()">Compute</button>
<button type="reset" onClick="resetLang()">Reset</button>
</form>
window.displayLang = function() {
let date = new Date();
date.setDate(date.getDate() + 7);
let days = date.getDay();
let week = [];
let lang = document.getElementsByClassName("lang")[0].value;
let allDays = document.getElementsByClassName("showDays");
if(lang[0].value = "en") {
week.push(days);
allDays[0].innerHTML = week;
}
if(lang[0].value = "ro") {
week.splice(0, 0, "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata", "Duminica");
allDays[0].innerHTML = week;
}
if(lang[0].value = "fr") {
week.splice(0, 0, "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche");
allDays[0].innerHTML = week;
}
}
window.resetLang = function() {
document.getElementsByClassName("showDays")[0].innerHTML = "";
}
选择语言:
EN
反渗透
Fr
计算
重置
window.displayLang=函数(){
让日期=新日期();
date.setDate(date.getDate()+7);
让days=date.getDay();
每周=[];
让lang=document.getElementsByClassName(“lang”)[0].value;
让allDays=document.getElementsByClassName(“showDays”);
if(lang[0].value=“en”){
周。推送(天);
allDays[0]。innerHTML=周;
}
if(lang[0].value=“ro”){
周拼接(0,0,“Luni”,“Marti”,“Miercuri”,“Joi”,“Vineri”,“Sambata”,“Duminica”);
allDays[0]。innerHTML=周;
}
if(lang[0].value=“fr”){
周。拼接(0,0,“Lundi”,“Mardi”,“Mercredi”,“Jeudi”,“Vendredi”,“Samedi”,“Dimanche”);
allDays[0]。innerHTML=周;
}
}
window.resetLang=函数(){
document.getElementsByClassName(“showDays”)[0].innerHTML=“”;
}
显然,如果我选择“En”选项,日期应该用英语显示,如果我选择“Ro”选项,日期应该用罗马尼亚语显示,如果我选择“Fr”选项,日期应该用法语显示。相反,我现在得到的是:伦迪、马尔迪、美塞雷迪、朱迪、文德雷迪、萨梅迪、迪曼奇、伦尼、马蒂、米尔克里、乔伊、维尼里、桑巴塔、杜米尼卡、3/////
我只是不明白“3”是从哪里来的。。。我不是在追求数字!显然,我也可以用JavaScript中的开关盒解决这个问题。。。我只是不知道我怎么能做到
if
中,必须使用双等于而不是一等于else
语句lang[0]。值改为lang
window.displayLang=function(){
让日期=新日期();
date.setDate(date.getDate()+7);
让days=date.getDay();
每周=[];
让lang=document.getElementsByClassName(“lang”)[0].value;
让allDays=document.getElementsByClassName(“showDays”);
如果(lang==“en”){
周=[“星期一”、“星期二”、“星期四”、“星期三”、“星期五”、“星期六”、“星期日]。加入(“,”);
allDays[0]。innerHTML=周;
}else if(lang==“ro”){
周=[“Luni”、“Marti”、“Miercuri”、“Joi”、“Vineri”、“Sambata”、“Duminica”]。加入(“,”);
allDays[0]。innerHTML=周;
}else if(lang==“fr”){
week=[“Lundi”、“Mardi”、“Mercredi”、“Jeudi”、“Vendredi”、“Samedi”、“Dimanche”]。加入(“,”);
allDays[0]。innerHTML=周;
}
}
window.resetLang=函数(){
document.getElementsByClassName(“showDays”)[0].innerHTML=“”;
}
选择语言:
EN
反渗透
Fr
计算
重置
let days=date.getDay()
会将天
设置为一个数字,这就是为什么您的output@messerbill如何使用:let days=date.getDay()以英语显示一周中的几天;方法,或任何其他JavaScript内置方法??请看这里:但我建议您使用moment.js
,它是一个比本机Date API
更好的日期处理库。好吧,它正在按预期工作。。。但是我只得到了“3”,而不是英语中的“天”。。。我想:让日期=新日期();date.setDate(date.getDate()+7);让days=date.getDay();应该显示:星期一,星期二,星期三,星期四,星期五,星期六,星期天。。。或者至少:上午、周二、周三、周四、周五、周六、周日……:(…我认为:让date=new date();date.setDate(date.getDate()+7);让days=date.getDay();应该显示:星期一、星期二、星期三、星期四、星期五、星期六、星期天……或者至少显示:Mo、Tue、Wed、Thu、Fri、Sat、Sun……(你为什么这么认为?!)getDay()
方法返回一周中的某一天(从0到6)对于指定的日期。如何在数组中的每个元素后添加一个空格键?例如:星期一、星期二、星期三、星期四、星期五、星期六、星期天,而不是:星期一、星期二、星期三、星期四、星期五、星期六、星期天。很高兴能为您提供帮助。