繁体   English   中英

如何获取所选选项的值并将其保存到变量中? (JavaScript)

[英]How to get the value of a selected option and save it into a variable? (Javascript)

我正在创建一个简单的计算器,用于计算一个月内剩余的天数。 我有2个下拉列表。 我已经声明了变量和公式。 现在,我只需要为变量分配值。 我该怎么办?

<html>
<body>
<form>
    What month ?
    <select id="month">
        <option selected disabled>Choose one</option>
        <option>Jan</option>
        <option>Feb</option>
        ...
        <option>Oct</option>
        <option>Nov</option>
        <option>Dec</option>
    </select>
    What date?
    <select id="date">
        <option selected disabled>Choose one</option>
        <option>1</option>
        <option>2</option>
        ...
        <option>29</option>
        <option>30</option>
        <option>31</option>
    </select>
</form>
<script>
    var result, finaldate, currentdate;

    result = finaldate - currentdate;
    document.write("There are "+result+" days left in this month.")
</script>

</body>
</html>

谢谢!

请阅读我的下一个问题的实际解决方案...

您在这里遗漏了很多东西,首先是选项的值,然后需要一个触发器,要么是按钮,要么是每个下拉列表的更改。

然后,即使您获得了值,尝试计算日期差的方法也无法正常工作。 您的方程式中需要更多的变量和值。 但是回到您的问题,这是一个如何从选择中获取值的示例:

<select id="month" onchange="setMonth()">
        <option selected disabled>Choose one</option>
        <option value="Jan">Jan</option>
        <option value="Feb">Feb</option>
        ...
        <option value="Oct">Oct</option>
        <option value="Nov">Nov</option>
        <option value="Dec">Dec</option>
    </select>

然后创建函数以设置变量。 这是一个示例,如果警报显示月份,则说明您做对了。

<script>
var month;
function setMonth(){
  month = document.getElementById('month').value;
  alert(month);
}

</script>

  var month; function setMonth(){ month = document.getElementById('month').value; alert(month); } 
 <select id="month" onchange="setMonth()"> <option selected disabled>Choose one</option> <option value="Jan">Jan</option> <option value="Feb">Feb</option> <option value="Oct">Oct</option> <option value="Nov">Nov</option> <option value="Dec">Dec</option> </select> 

我刚刚注意到您对评论的解释,并且有一种简单的方法可以通过在所选月份添加正确的值来解决此问题。

用月的值写出最大天数。 然后您的减法将起作用。 添加一个将触发该功能的按钮。

这是几个月中的操作方法(对于当日期与一个月中的最大天数不匹配的情况,例如,如果用户选择31和2月作为月份,您将需要添加验证!)

 function calcDays(){ var monthDay = document.getElementById('month').value; var day = document.getElementById('day').value; var result = parseInt(monthDay) - parseInt(day); alert("There are "+result+" days left in this month"); } //parseInt() allows you to use input strings as integers 
 <select id="month" onchange="setMonth()"> <option selected disabled>Choose one</option> <option value="31">Oct</option> <option value="30">Nov</option> </select> <select id="day"> <option value="1">1</option> <option value="2">3</option> <option value="4">4</option> <option value="5">5</option> </select> <button onclick="calcDays()">Get missing days in the month</button> <!-- Finish your select options --> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM