[英]Bootstrap set input type=date from jQuery .val()
像其他一些人一样,我很难使用 jquery val() function 来设置日期类型的输入字段的值。
我在 MVC 应用程序中有一个视图,它呈现开始、结束日期和文本字段的列表。 在每一行旁边,我有一个按钮来更改值(设置如下图)。
按下按钮会打开一个引导对话框,其中包含两个日期输入字段和一个文本输入字段。 我已将要编辑的项目的值存储在按钮的日期属性中,如下面的代码所示。
<a class="btn btn-outline-secondary custom-btn-width" href="#"
data-id="@item.ID"
data-toggle="modal"
data-target="#scheduleModel"
data-start="@item.ProjectStart"
data-end="@item.ProjectEnd"
data-color="@item.BackgroundColor">
<i class="fas fa-edit"></i>
</a>
单击按钮时,对话框打开,使用下一个代码块中的 javascript 代码。
<script type="text/javascript">
window.onload = function () {
$('#scheduleModel').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var id = button.data('id'); // Extract info from data-* attributes
var start = button.data('start');
var end = button.data('end');
var color = button.data('color');
var modal = $(this)
modal.find('#SID').val(id)
modal.find('#projectColor').val(color)
//Does not work!!
//modal.find('#inputStartDate').val(start)
//modal.find('#inputEndDate').datepicker("update", end);
document.getElementById("inputStartDate").valueAsDate = new Date(start);
document.getElementById("inputEndDate").valueAsDate = new Date(end);
console.log(('#inputStartDate').val);
console.log(end);
})
};
我尝试使用modal.find('#inputStartDate').val(start)
设置日期字段。 那是行不通的。 但是,输入文本字段(颜色)的值设置正确。
所以当谷歌搜索时,我发现了关于 SO 的下一篇文章:
这里的解决方案是使用document.getElementById("inputStartDate").valueAsDate = new Date(start);
. 这确实设置了输入日期字段的值。 但我想知道为什么不能使用modal.find('#inputStartDate').val(start)
语法来设置值。 将 javascript 与 JQuery 混合感觉不对。
长话短说,是否可以使用 jQuery.val() function 设置<input type=date id='startDate'>
字段的值? 如果是这样,我该如何做到这一点?
谢谢您的帮助。
更新:
今天我在 SO 上找到了这个链接,它解释了如何设置<input id="datePicker" type="date" />
字段的值。
所以它回答了我的问题。
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
$('#datePicker').val(today);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.