Javascript 更新状态时更改日期

Javascript 更新状态时更改日期,javascript,Javascript,大家好,我想写一个javascript,在更新状态选择框时更改日期框中的日期 例如,日期框上的初始日期为2021年6月1日。我会点击状态拒绝。日期应自动更改为今天6/3/21,无需手动单击日期选择器框 <html> <body> <select> <option value="Offered">Offered</option> <option value="Accepted"

大家好,我想写一个javascript,在更新状态选择框时更改日期框中的日期

例如,日期框上的初始日期为2021年6月1日。我会点击状态拒绝。日期应自动更改为今天6/3/21,无需手动单击日期选择器框

<html>
<body>

<select>
    <option value="Offered">Offered</option>
    <option value="Accepted">Accepted</option>
    <option value="Rejected">Rejected</option>
</select">

  <input type="date" id="date" name="date">
  <input type="submit" value="Submit">```


</body>
</html>

提供
认可的
拒绝

这应该行得通。使用
type=“date”
时,需要以这种格式提供日期
YYYY-MM-DD
()

HTML

<html>
<body>

<select onchange="changeDate()">
    <option value="Offered">Tesla</option>
    <option value="Accepted">Volvo</option>
    <option value="Rejected">Mercedes</option>
</select">

  <input type="date" id="date" name="date">
  <input type="submit" value="Submit">


</body>
</html>

我希望这能回答你的问题。为了更清晰,我添加了一些评论。如果您有任何问题,请告诉我

//获取select HTML节点。
const select=document.querySelector(“选择”);
//获取日期输入节点。
const date=document.querySelector(“日期”);
//将更改事件侦听器添加到选择节点。
select.addEventListener('change',()=>{
//由于日期选择器只接受“yyyy-MM-dd”格式的日期值,因此必须使用带切片方法的ISOString。
date.value=newdate().toISOString().slice(0,10);
});

提供
认可的
拒绝

然后必须在选择时调用onChange()事件并删除if条件-

<html>
<head>
    <script>
        function myFunction() {
            let date = new Date();

            let year = date.getFullYear();
            let month = (date.getMonth() + 1).toString().length == 1 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString();
            let day = date.getDay().toString().length == 1 ? '0' + date.getDay().toString() : date.getDay().toString();
            let showDate = year + '-' + month + '-' + day;
            document.getElementById("date").value = showDate;
        }
    </script>
</head>
<body>

    <select id="mySelect" onchange="myFunction();">
        <option value="Offered">Tesla</option>
        <option value="Accepted">Volvo</option>
        <option value="Rejected">Mercedes</option>
    </select>

    <input type="date" id="date" name="date">
    <input type="submit" value="Submit">

</body>
</html>

函数myFunction(){
让日期=新日期();
让year=date.getFullYear();
让month=(date.getMonth()+1).toString().length==1?'0'+(date.getMonth()+1.toString():(date.getMonth()+1.toString();
让day=date.getDay().toString().length==1?'0'+date.getDay().toString():date.getDay().toString();
showDate=年+'-'+月+'-'+日;
document.getElementById(“日期”).value=showDate;
}
特斯拉
沃尔沃汽车
梅赛德斯

这是否回答了您的问题?OP说“当我更新状态选择框时”-我认为“拒绝”只是一个例子;无论新选项是什么,如果更改了选择,则应更新日期。此外,它应该在选择更改时发生,而不是在提交表单时发生。更新了逻辑。
<html>
<head>
    <script>
        function myFunction() {
            let date = new Date();

            let year = date.getFullYear();
            let month = (date.getMonth() + 1).toString().length == 1 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString();
            let day = date.getDay().toString().length == 1 ? '0' + date.getDay().toString() : date.getDay().toString();
            let showDate = year + '-' + month + '-' + day;
            document.getElementById("date").value = showDate;
        }
    </script>
</head>
<body>

    <select id="mySelect" onchange="myFunction();">
        <option value="Offered">Tesla</option>
        <option value="Accepted">Volvo</option>
        <option value="Rejected">Mercedes</option>
    </select>

    <input type="date" id="date" name="date">
    <input type="submit" value="Submit">

</body>
</html>