Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Asp.NETMVC中的JQuery UI日期选择器_Javascript_Jquery_Html_Asp.net Mvc_Jquery Ui - Fatal编程技术网

Javascript Asp.NETMVC中的JQuery UI日期选择器

Javascript Asp.NETMVC中的JQuery UI日期选择器,javascript,jquery,html,asp.net-mvc,jquery-ui,Javascript,Jquery,Html,Asp.net Mvc,Jquery Ui,我在Asp.netmvc网站上尝试使用jqueryui中的一些小部件,但运气不好 例如,来自的基本日期选择器 我创建了一个简单的MVC项目,并在Site.Master中添加了脚本引用,如下所示: <script src="../../Scripts/jquery-1.2.6.min.js" type="text/javascript"></script> <script src="../../Scripts/jquery-ui-personalized-1.5.3.

我在
Asp.netmvc
网站上尝试使用
jqueryui
中的一些小部件,但运气不好

例如,来自的基本日期选择器

我创建了一个简单的MVC项目,并在
Site.Master中添加了脚本引用,如下所示:

<script src="../../Scripts/jquery-1.2.6.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-personalized-1.5.3.min.js" type="text/javascript"></script>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<link href="../../Content/ui.datepicker.css" rel="stylesheet" type="text/css" />"

核心jQuery运行良好。有什么线索吗?

页面加载时,您似乎正在内联执行JavaScript。在这种情况下,
#basics
选择器将无法使用
id=“basics”
找到输入,因为它尚未被解析并呈现到文档体中

您的解决方案可能非常简单,只需将代码中的
脚本
元素移动到
输入
元素之后的位置即可

更好的是,订阅一个文档就绪或文档加载事件,并在该事件的处理程序中执行jQuery代码

$(document).ready(function() {
    $("#basics").datepicker();
});

这样做有很多好处。您可以确保整个DOM都可以使用,并且不依赖于源代码的顺序,这意味着您可以在将来将JavaScript移动到外部文件,以利用客户端的各种缓存机制。

确保在加载DOM后调用初始值设定项:

$(document).ready(function() {
    $("#basics").datepicker();
});
:

通过使用此方法,您的边界 函数将在瞬间调用 DOM已准备就绪,可以进行读取和修改 操纵,即99.99%的 所有JavaScript代码都需要运行


我在这里用mvc3写了一篇文章:

在页面的哪里加载脚本&在哪里调用日期选择器初始化

下面是一个使用jQuery速记文档就绪&css选择器更容易初始化日期选择器的示例

下面是示例输入框的razor代码(注意“datefield”css类)

我已经编写了一个详细介绍细节的教程&github上的一个示例ASP.NETMVC5解决方案


请参阅我的教程,它正是这样做的。你问题中的链接断了,有人知道正确的链接吗?Stuarts很棒的博客激发了我的教程
$(document).ready(function() {
    $("#basics").datepicker();
});
<div class="form-group">
    @Html.LabelFor(m => m.DateOfBirth, new { @class = "col-md-2 control-label" })
    <div class="col-md-10">
        @Html.TextBoxFor(m => m.DateOfBirth, new { @class = "form-control datefield" })
    </div>
</div>
$(function () {
    $(".datefield").datepicker();
});