【问题标题】:Passing Variables Into an 'onchange' method ASP.NET Entity Framework将变量传递到“onchange”方法 ASP.NET 实体框架
【发布时间】:2018-08-28 14:28:34
【问题描述】:

我正在尝试将 DateTime 变量从 @Html.EditorFor 传递给 JavaScript 函数,但出现错误。

我当前的行循环了多次,所以需要是唯一的,但是:

@Html.EditorFor(model => model.Periods[i].EndTime, new { htmlAttributes = new { @class = "form-control", id = $"endTime {i}", onchange = $"checkChanged({Model.Periods[i].EndTime})" } })

链接到以下的 JavaScript 函数:

 function checkChanged(newTime) {
            console.log(newTime);
}

当我运行此代码并更改文本框时,我收到控制台错误 Uncaught SyntaxError: missing ) after argument list 但调用正在接收日期。 https://imgur.com/a/WlE9y

【问题讨论】:

  • 您将日期传递给checkChanged,但您忘记在其周围添加引号。
  • 我在它周围添加了单引号,但它认为它是一个字符串并返回:Model.Periods[i].StartTime。现在的代码是:onchange = $"checkChanged('Model.Periods[i].EndTime')"
  • 全部解决。非常感谢并发布代码作为解决方案!

标签: javascript c# asp.net entity-framework


【解决方案1】:

我错过了单引号,所以最终答案是:

@Html.EditorFor(model => model.Periods[i].StartTime, new { htmlAttributes = new { @class = "form-control", id = $"startTime {i}", onchange = $"checkChanged('{Model.Periods[i].StartTime}')" } })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2018-01-27
    相关资源
    最近更新 更多