ker*_*_xc 3 asp.net-mvc mvc-editor-templates asp.net-mvc-4 bootstrap-datetimepicker
下面是一个EditorTemplate,它使用EditorFor帮助器呈现Bootstrap datetimepicker,我看到的问题是脚本部分.它适用于DateTimePicker每个视图一个- 但由于我使用类选择器,每当我DateTimePicker在每个视图中使用2个或更多时,它会呈现重复的<script>部分,使DOM在TextBox调用日历时感到困惑.我在这里错过了什么?
@model DateTime?
<div class='input-group date datePicker'>
<span class="input-group-sm">
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("d") : String.Empty)
</span>
</div>
<script type="text/javascript">
$(function() {
$('.datePicker').datetimepicker({
pickTime: false
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
Rus*_*Cam 11
正确推断出的问题是,当视图中包含两个日期选择器时,编辑器模板中定义的脚本块将运行两次; 当它运行两次时,插件的行为不符合预期.
对此的一个解决方案是仅针对每个脚本块中的编辑器模板中的datepicker输入.例如,
@model DateTime?
<div class='input-group date datePicker'>
<span class="input-group-sm">
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("d") : String.Empty)
</span>
</div>
<script type="text/javascript">
$(function() {
// target only the input in this editor template
$('#@Html.IdForModel()').datetimepicker({
pickTime: false
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12102 次 |
| 最近记录: |