我正在开发一个ASP.NET MVC 4应用程序。在我的一个表单中(使用Razor视图引擎)我想使用带有日期字段的jquery datepicker。 但我的datepicker代码不起作用。
查看/共享/ _Layout.cshtml
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<meta name="viewport" content="width=device-width" />
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
查看/ myController的/ Create.cshtml
@model wppf_test_1.Models.allocation_percentage
@{
ViewBag.Title = "Create";
}
<script type="text/javascript">
$(document).ready(function () {
alert("h");
$("#date").datepicker();
});
</script>
<h2>Create</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.date)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.date)
@Html.ValidationMessageFor(model => model.date)
</div>
我没有发布视图的整个代码,因为它非常大。 jquery代码中的警报消息有效。但是datepicker代码没有。我使用了firebug并验证了date字段的id确实是“date”。但我不知道这是什么问题。
答案 0 :(得分:2)
我建议使用像这样的输入元素:
<div class="editor-field">
<input type="text" name="date" id="date" />
@Html.ValidationMessageFor(model => model.date)
</div>
作为约会的编辑。将名称设置为日期将正确地将值链接到表单提交上的日期字段。我之前遇到过这个问题,这就是我解决这个问题的方法,尽管我不能确定它为什么会起作用。
答案 1 :(得分:0)
我的情况与Shuaib相同,我尝试上面的建议,我可以在我的项目上创建日期选择器(create.cshtml)。
<input type="text" name="CreatedDate" id="date" />
但是,我的项目(create.cshtml)中还有更多的输入元素。我尝试使用相同的id(id =&#34; date&#34;),如下所示。
<input type="text" name="UpdatedDate" id="date" />
我在运行应用程序时,第二个输入元素上的日期选择器(名称=&#34;更新日期)无效。我收到警告消息此页面上的另一个对象已使用ID&#39; 日期&#39; 。
这个方法(call id datepicker)只能在页面上使用一个输入元素(不是更多)?
感谢您的建议, 欢呼声