在 asp.net mvc 中使用 jQuery 日期选择器时出现问题
Problem in using jQuery datepicker in asp.net mvc
我想将 Jquery 日期选择器添加到 TimeofCreation 表单。我无法获取日期选择器或 select 按钮。请帮助 jquery.
使用日期选择器
我希望在用户单击 TimeofCreation 表单时显示日期日历。
捐赠者class代码如下
public class Donor
{
[Key]
public int Id { get; set; }
public string FullName { get; set; }
public int PhoneNumber { get; set; }
public DateTime TimeofCreation { get; set; }
public string Emergency { get; set; }
public string Address { get; set; }
public BloodType BloodList { get; set; }
public string BagsNumber { get; set; }
public DateTime LastTimeDonation { get; set; }
}
我的查看代码如下
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(model => model.TimeofCreation, htmlAttributes: new {
@class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TimeofCreation, new {
htmlAttributes = new { @class = "datepicker" } })
@Html.ValidationMessageFor(model => model.TimeofCreation, "", new
{ @class = "text-danger" })
</div>
</div>
@section Scripts {
<script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
<script type="text/javascript">
<script>
$('.datepicker').datepicker({
dateFormat: "dd/M/yy",
changeMonth: true,
changeYear: true,
yearRange: "-60:+0"
});
</script>
</script>
}
看起来您正在尝试将日期选择器应用于输入[type=datetime],但我在表单组中没有看到它。
尝试像这样将其链接到 class:
$('.datepicker').datepicker({
dateFormat: "dd/M/yy",
changeMonth: true,
changeYear: true,
yearRange: "-60:+0"
});
这里的问题是你没有添加 jquery-ui.css
文件,另一个问题是你上传了多次 jquery
和 jquery-ui
js 文件。使用外部脚本 js 文件或使用 bundle.
并且你的外部脚本文件的顺序也是错误的应该是第一个 jquery
在使用 jquery-ui
文件
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
例如,我使用了这个并删除了包。
并添加您的 jquery-ui.css
文件
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
之后你可以看到你的 datepicker
更改后的代码如下所示
@model MVC5.Models.Donor
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(model => model.TimeofCreation, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TimeofCreation, new { htmlAttributes = new { @class = "datepicker" } })
@Html.ValidationMessageFor(model => model.TimeofCreation, "", new { @class = "text-danger" })
</div>
</div>
}
@section Scripts {
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
<script type="text/javascript">
$('.datepicker').datepicker({
dateFormat: "dd/M/yy",
changeMonth: true,
changeYear: true,
yearRange: "-60:+0"
});
</script>
}
希望对您有所帮助。如果需要更多信息,请告诉我。
我想将 Jquery 日期选择器添加到 TimeofCreation 表单。我无法获取日期选择器或 select 按钮。请帮助 jquery.
使用日期选择器我希望在用户单击 TimeofCreation 表单时显示日期日历。
捐赠者class代码如下
public class Donor
{
[Key]
public int Id { get; set; }
public string FullName { get; set; }
public int PhoneNumber { get; set; }
public DateTime TimeofCreation { get; set; }
public string Emergency { get; set; }
public string Address { get; set; }
public BloodType BloodList { get; set; }
public string BagsNumber { get; set; }
public DateTime LastTimeDonation { get; set; }
}
我的查看代码如下
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(model => model.TimeofCreation, htmlAttributes: new {
@class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TimeofCreation, new {
htmlAttributes = new { @class = "datepicker" } })
@Html.ValidationMessageFor(model => model.TimeofCreation, "", new
{ @class = "text-danger" })
</div>
</div>
@section Scripts {
<script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
<script type="text/javascript">
<script>
$('.datepicker').datepicker({
dateFormat: "dd/M/yy",
changeMonth: true,
changeYear: true,
yearRange: "-60:+0"
});
</script>
</script>
}
看起来您正在尝试将日期选择器应用于输入[type=datetime],但我在表单组中没有看到它。
尝试像这样将其链接到 class:
$('.datepicker').datepicker({
dateFormat: "dd/M/yy",
changeMonth: true,
changeYear: true,
yearRange: "-60:+0"
});
这里的问题是你没有添加 jquery-ui.css
文件,另一个问题是你上传了多次 jquery
和 jquery-ui
js 文件。使用外部脚本 js 文件或使用 bundle.
并且你的外部脚本文件的顺序也是错误的应该是第一个 jquery
在使用 jquery-ui
文件
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
例如,我使用了这个并删除了包。
并添加您的 jquery-ui.css
文件
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
之后你可以看到你的 datepicker
更改后的代码如下所示
@model MVC5.Models.Donor
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(model => model.TimeofCreation, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TimeofCreation, new { htmlAttributes = new { @class = "datepicker" } })
@Html.ValidationMessageFor(model => model.TimeofCreation, "", new { @class = "text-danger" })
</div>
</div>
}
@section Scripts {
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
<script type="text/javascript">
$('.datepicker').datepicker({
dateFormat: "dd/M/yy",
changeMonth: true,
changeYear: true,
yearRange: "-60:+0"
});
</script>
}
希望对您有所帮助。如果需要更多信息,请告诉我。