Javascript 如何比较下拉/选择菜单中的两个不同值,并将其作为一个值应用于条件语句?
我正在尝试制作一个小型计算器,向用户询问他们的月份和出生日期,并根据他们选择的值给出占星术符号。我只是不太确定如何将这两个值组合成一个值,以便将其分配给变量 JS:Javascript 如何比较下拉/选择菜单中的两个不同值,并将其作为一个值应用于条件语句?,javascript,html,Javascript,Html,我正在尝试制作一个小型计算器,向用户询问他们的月份和出生日期,并根据他们选择的值给出占星术符号。我只是不太确定如何将这两个值组合成一个值,以便将其分配给变量 JS: function getSelectValues() { var selectedMonth = document.getElementById("month").value; var selectedDate = document.getElementById("date").value; retu
function getSelectValues() {
var selectedMonth = document.getElementById("month").value;
var selectedDate = document.getElementById("date").value;
return selectedMonth + selectedDate;
}
getSelectValues();
HTML:
一月
二月
前进
四月
也许
六月
七月
八月
九月
十月
十一月
十二月
1.
2.
3.
4.
5.
6.
7.
8.
9
10
12
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
这将查看日/月值的
selectedIndex
,然后将其与白羊座符号范围进行对比,作为示例。记住,在JavaScript中,一月是0而不是1
函数getSelectValues(){
var selectedMonth=document.getElementById(“月”)。selectedIndex-1;
var selectedDate=document.getElementById(“日期”)。selectedIndex;
var d=新日期(0000,selectedMonth,selectedDate);
var ariesStr=新日期(0000,2,21)
var ariesEnd=新日期(0000,3,19)
console.log(ariesStr
一月
二月
前进
四月
也许
六月
七月
八月
九月
十月
十一月
十二月
1.
2.
3.
4.
5.
6.
7.
8.
9
10
12
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
这将查看日/月值的selectedIndex
,然后对照白羊座符号范围进行检查,例如。记住,在JavaScript中,一月是0而不是1
函数getSelectValues(){
var selectedMonth=document.getElementById(“月”)。selectedIndex-1;
var selectedDate=document.getElementById(“日期”)。selectedIndex;
var d=新日期(0000,selectedMonth,selectedDate);
var ariesStr=新日期(0000,2,21)
var ariesEnd=新日期(0000,3,19)
console.log(ariesStr
一月
二月
前进
四月
也许
六月
七月
八月
九月
十月
十一月
十二月
1.
2.
3.
4.
5.
6.
7.
8.
9
10
12
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
我不知道您打算如何检查它们是哪个符号,但实际上,将月份和日期分开可能更容易。然后,检查标志的简单方法如下:
const months = {
mar : {
cutoff: 21,
oneSign: picses,
otherSign: aries
},
jul : {
cutoff: 23,
oneSign: cancer,
otherSign: leo
},
oct : {
cutoff: 22,
oneSign: scorpio,
otherSign: sagittarius
}
}
function getSign(month, day){
if(day < months[month][cutoff]){ return months[month][oneSign]; }
else { return months[month][otherSign]; }
}
const月={
马尔:{
截止日期:21,
一个标志:皮克斯,
其他星座:白羊座
},
七月:{
截止日期:23,
一个征兆:癌症,
其他星座:狮子座
},
十月:{
截止日期:22,
一个星座:天蝎座,
其他星座:射手座
}
}
功能getSign(月、日){
如果(天<月[月][截止日期]{返回月[月][oneSign];}
else{返回月份[月份][其他符号];}
}
我不知道您打算如何检查它们是哪个符号,但实际上,将月份和日期分开可能更容易。然后,检查标志的简单方法如下:
const months = {
mar : {
cutoff: 21,
oneSign: picses,
otherSign: aries
},
jul : {
cutoff: 23,
oneSign: cancer,
otherSign: leo
},
oct : {
cutoff: 22,
oneSign: scorpio,
otherSign: sagittarius
}
}
function getSign(month, day){
if(day < months[month][cutoff]){ return months[month][oneSign]; }
else { return months[month][otherSign]; }
}
const月={
马尔:{
截止日期:21,
一个标志:皮克斯,
其他星座:白羊座
},
七月:{
截止日期:23,
一个征兆:癌症,
其他星座:狮子座
},
十月:{
截止日期:22,
一个星座:天蝎座,
其他星座:射手座
}
}
功能getSign(月、日){
如果(天<月[月][截止日期]{返回月[月][oneSign];}
else{返回月份[月份][其他符号];}
}
您所做的工作实际上应该是可行的,尽管这会使您更难将结果字符串分开,以分别获得月份和日期。你最好在它们之间放置一个分隔符,比如-
或/
(或者其他任何东西)。但更好的是,为什么不将它们作为单独的变量保留,或者将它们作为一个对象或数组的单独元素添加?[编辑:刚刚意识到你没有对函数调用的结果做任何事情-你应该将其分配给一个变量,以便能够使用它。]如果你需要我的答案以外的其他东西,请告诉我。你所做的应该是有效的,尽管这会让你很难把结果串分开,把月份和日期分开。你最好在它们之间放置一个分隔符,比如-
或/
(或者其他任何东西)。但更好的是,为什么不将它们作为单独的变量保留,或者将它们作为一个对象或数组的单独元素添加?[编辑:刚刚意识到你没有对函数调用的结果做任何事情-你应该将其分配给一个变量,以便能够使用它。]如果你需要我的答案以外的其他信息,请告诉我。