Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在输入类型中插入日期=日期不可能_Javascript_Asp.net Mvc - Fatal编程技术网

Javascript 在输入类型中插入日期=日期不可能

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) 没有一个

我尝试将一列中的日期插入类的日期字段。选择,但无法执行此操作。当我返回日期字段长度时,它会显示10个符号,这样就可以了。日期字段还允许输入10个符号

        [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 + '">'