Javascript 在输入类型中插入日期=日期不可能
我尝试将一列中的日期插入类的日期字段。选择,但无法执行此操作。当我返回日期字段长度时,它会显示10个符号,这样就可以了。日期字段还允许输入10个符号Javascript 在输入类型中插入日期=日期不可能,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我尝试将一列中的日期插入类的日期字段。选择,但无法执行此操作。当我返回日期字段长度时,它会显示10个符号,这样就可以了。日期字段还允许输入10个符号 [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")] public DateTime? PaymentDate { get; set; } 视图: @DisplayFor(modelItem=>item.PaymentDate) 没有一个
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? PaymentDate { get; set; }
视图:
@DisplayFor(modelItem=>item.PaymentDate)
没有一个
JS:
document.queryselectoral(#decisionList”).forEach(elem=>elem.addEventListener(“change”),函数(){
var selectedOptionIndex=this.options[this.selectedIndex].index;
var invoiceDateText=this.closest('tr').querySelector('.payment').textContent.trim();
var finalChoice=this.closest('tr').querySelector('.choice');
alert(invoiceDateText.length);//返回10个符号,表示正常
开关(选择选项索引){
案例0:
finalChoice.innerHTML=“”
打破
案例1:
finalChoice.innerHTML=''/,此处不显示invoiceDateText中的日期
打破
违约:
finalChoice.innerHTML=“”
}}));
我找到了问题的答案。问题是我在视图中使用了html助手,并试图在html助手代码中插入简单的输入。改变的关键路线是:
finalChoice.innerHTML = '<input class="form-control datepicker" id="item_PaymentDate" name="item.PaymentDate" type="date" value="' + invoiceDateText + '">'
finalChoice.innerHTML=''
当按F12键并查看网站代码时,您可以随时查看html帮助程序代码的外观我有点困惑您想做什么。您正在尝试将日期值传递到日期输入中吗?我不相信这是可能的,因为从技术上讲,这是一个默认值,html日期输入不允许默认值。是的,我正在尝试这样做-将日期值传递到日期输入中。我是用jQuery做的,它可以工作,但不适用于JS。我必须检查一下,但我认为这在JS中是不可能的。我会再打给你。看看这个:看起来要这样做,它必须是ISO格式。
document.querySelectorAll("#decisionList").forEach(elem => elem.addEventListener("change", function () {
var selectedOptionIndex = this.options[this.selectedIndex].index;
var invoiceDateText = this.closest('tr').querySelector('.payment').textContent.trim();
var finalChoice = this.closest('tr').querySelector('.choice');
alert(invoiceDateText.length); //returns 10 signs so it's ok
switch (selectedOptionIndex) {
case 0:
finalChoice.innerHTML = '<input type="date">'
break;
case 1:
finalChoice.innerHTML = '<input type="date" value="' + invoiceDateText + '">' // and here doesn't show the date from invoiceDateText
break;
default:
finalChoice.innerHTML = ''
}}));
finalChoice.innerHTML = '<input class="form-control datepicker" id="item_PaymentDate" name="item.PaymentDate" type="date" value="' + invoiceDateText + '">'