gpt4 book ai didi

javascript - 使用 jquery 自动填充 html 中的日期

转载 作者:行者123 更新时间:2023-12-01 01:56:56 27 4
gpt4 key购买 nike

具有“日期输入字段”(正常输入类型=“日期”ta)和“添加按钮”(创建新日期字段)的表格

我正在使用此网站的代码:

我刚刚添加了一个日期字段 Link to the code

我找到了这个解决方案,但它缺少添加按钮以及如何一遍又一遍地增加日期。

js fiddle code

我面临的问题:用户必须每次单击“添加”按钮时填写日期

我需要帮助的地方:我希望用户填写第一个日期字段当他点击添加时,日期就会增加一然后他再次点击添加,之前的日期会增加

例如:

  • 用户输入 01/01/2018
  • 点击添加(生成新日期字段)
  • 日期字段设置为 02/01/2018
  • 再次点击“添加”(生成新日期字段)
  • 日期字段设置为 03/01/2018

只要他点击添加按钮,日期就会不断增加

我尝试过 on(),prev(),closest() jquery 方法来定位前一个日期,但似乎没有任何效果我什至尝试了 javascript 的 stepUp() 方法,但我对如何定位前一个日期感到困惑。我还考虑过使用 moment.js,date.js 但我不知道如何在动态创建的日期字段中增加日期

我已经被这个问题困扰了一个多星期了。关于如何提高我的网络开发技能的任何建议谢谢:D

<div id='holder'> </div>


$("#holder").append('<input id="date1" />');
$("#holder").append('<input id="date2" />');


$('#date1').datepicker();
$('#date2').datepicker();

$('#date1').change(function(){
var date1 = $('#date1').datepicker('getDate');
var date = new Date( Date.parse( date1 ) );
date.setDate( date.getDate() + 1 );

var newDate = date.toDateString();
newDate = new Date( Date.parse( newDate ) );

$('#date2').datepicker('setDate', newDate );
})

最佳答案

您可以使用 moment.js 来递增日期。 请参阅 Docs for moment().add(number, 'string').

在我的示例中,单击按钮,从最后一个输入框中获取值,并将其转换为日期函数。clone方法用于创建输入框的副本以显示日期。

$("#add-bttn").on("click", function() {

// First find the date on the last input input box.
var date = moment($(".date_entry:last").val(), 'YYYY-MM-DD');
var slno = parseInt($(".date_container tbody tr:last td:first").text()) + 1;

//In order to add a new row with the newly added date you should append the row to the last tbody of the table tag. Also you must clone the entire row containing the input field.

$(".date_container tbody tr:last").clone().appendTo(".date_container tbody");
//Setting date on input field
$(".date_entry:last").val(moment(date) .add(1, 'days').format('YYYY-MM-DD'));
//Changing new sl no
$(".date_container tbody tr:last td:first").html(slno);
});

/* Removing last row from table */
$("#remove-bttn").on("click", function() {

//If this there is only one row left clear that row instead of removing it
if ($(".date_container tbody tr").length === 1)
$(".date_container tbody tr:last").find("input").val('');
else
$(".date_container tbody tr:last").remove();
});
table {
margin: 10px;
}

table td, table th {
padding: 5px;
text-align: center;
}

.date_entry {
text-indent: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/moment/moment/2.2.1/min/moment.min.js"></script>
<body>
<table border="1" class="date_container">
<thead>
<tr>
<th>SL NO</th>
<th>DATE</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><input type="text" class="date_entry" placeholder="YYYY-MM-DD"></td>
</tr>
</tbody>
</table>
<button type="button" id="add-bttn">Add</button>
<button type="button" id="remove-bttn">Remove</button>
</body>

关于javascript - 使用 jquery 自动填充 html 中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50944178/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com