我想使用MVC3和Razor创建Date,Time和DateTime EditorTemplate。
现在,让我们关注时间(我可以稍后修复剩余的模板)。
@model DateTime?
@using MyMvcApp.Properties
@Html.DropDownListFor(model => model.Value.Hour, new SelectList(new[] {"00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" },
Model.HasValue ? Model.Value.Hour.ToString("D2") : "00"), null, new { style = "width: auto; margin-left: 5px;" })
:
@{
List<string> availableMinutes = new List<string>();
for (int minute = 0; minute < 60; minute += 1)
{
availableMinutes.Add(minute.ToString("D2"));
}
@Html.DropDownListFor(model => model.Value.Minute, new SelectList(availableMinutes, Model.HasValue? Model.Value.Minute.ToString("D2") : "00"), null, new { style = "width: auto" });
}
<img alt="@Resources.SelectTime" src="../../../images/icon_clock_2.gif" style="margin-right: 5px" />
<input id="clearDate" type="button" value="@Resources.Clear" class="ui-state-default" />
重点是:如何清除此编辑器模板的值?我可以添加一个清除ID值的脚本,但是会清除所有相同类型的editortemplates。
所以我的问题是:只有在点击clearDate按钮时,如何清除此模板的所有值(小时和分钟)?
提前致谢!
答案 0 :(得分:2)
您可以将整个模板包装在div
容器中,然后使用jQuery在上下文中将DOM转移到clearDate
按钮。我是从记忆中做到的,但它会是这样的:
$(this).parent().children().contents().find("#hourElement").val("");