javascript - 通过解析 JSON 从 Javascript 中设置 DatePicker 值
问题描述
我的 .cshtml 页面中有一个文本输入字段,它是一个日期类型字段。
<div class="form-group">
<label for="comments">ETA:</label>
<input class="form-control text-box single-line" data-val="true" id="MilestoneETAEdit" name="MilestoneETAEdit" type="date" value="">
</div>
该字段很好地呈现为输入字段,右侧有一个日历下拉菜单。我可以手动从日历中选择任何日期。选择后,输入字段以MM/dd/yyyy
格式显示日期
但在页面生命周期的后期,我需要解析 JSON 并将该字段设置为来自 JSON 的值。
日期字段在 JSON 中是这样出现的。
{
"ETA":"/Date(1571855400000)/"
}
我尝试通过尝试以下方法来设置输入字段的值:
$('#MilestoneETAEdit').val(result.ETA);
它不起作用,我什至尝试对值进行硬编码。这也不起作用:
$('#MilestoneETAEdit').val('09/18/2019');
如何在输入字段中设置值?
解决方案
您需要从 ETA 值中删除/Date(
和,并使用对象/
将该字符串转换为日期。new Date()
现在,输入类型日期接受yyyy-mm-dd
格式值,您需要将日期转换为所需格式并设置val()
为输入以查看日期
$(document).ready(function(){
var result = {"ETA":"/Date(1571855400000)/"};
var date = result.ETA.replace('/Date(','').replace(')','').replace('/','');
console.log(date);
var dateVal = new Date(parseInt(date)).toLocaleDateString();
console.log(dateVal);
dateVal = dateVal.substring(6,10) + "-" + dateVal.substring(0,2) + "-" + dateVal.substring(3,5);
console.log(dateVal);
$('#MilestoneETAEdit').val(dateVal);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="form-group">
<label for="comments">ETA:</label>
<input class="form-control text-box single-line" data-val="true" id="MilestoneETAEdit" name="MilestoneETAEdit" type="date" value="">
</div>
推荐阅读
- java - 按标点符号保存
- mqtt - 将 MQTT 默认端口更改为 443
- spring - Spring JpaRepository findAll() 方法多次返回同一行
- linux-kernel - 从用户空间读取/写入导出内核符号的方法
- android - 应用程序未安装在 Android 设备上 - Ionic4
- javascript - libphonenumber-js:'未捕获的类型错误:用于解析的文本必须是字符串'
- ruby-on-rails - 如何使用 activeadmin 删除管理员的“删除”选项?
- r - Rshiny 中的多输入选择
- r - 如何计算和绘制“beta-delta 贴现模型”?
- angular - 无法订阅 observable