Asp.net 我能';我不能让日期选择器工作

Asp.net 我能';我不能让日期选择器工作,asp.net,javascript,jquery,asp.net-mvc,Asp.net,Javascript,Jquery,Asp.net Mvc,我需要一个显示日期选择器的字段。我遵循了jQueryUI文档给出的示例,但还没有成功地使其工作。我的文本字段所在的html为: <div class="editor-field"> <input type = "text" name = "DatePublished" id = "Published" /> <%= Html.ValidationMessage("DatePublished" ,"*")

我需要一个显示日期选择器的字段。我遵循了jQueryUI文档给出的示例,但还没有成功地使其工作。我的文本字段所在的html为:

<div class="editor-field">
                <input type = "text" name = "DatePublished" id = "Published" />
                <%= Html.ValidationMessage("DatePublished" ,"*") %>
            </div>
但当我专注于文本字段时,什么都没有发生。怎么了?可能是因为从局部角度调用它不起作用吗

谢谢大家,, 维基托

编辑:我已经更新了js,所以它显示了我现在添加的内容。这很奇怪,但是$('#Published').datepicker();不会在firebug上生成错误,即使在其他页面中没有这样的文本字段。这怎么会发生?我也尝试了chrome调试器,也没有出现错误,看起来它直接忽略了这个方法。然后我脑子里只会出现一个愚蠢的问题,我是否必须在我的站点中引用。掌握某种datepicker.js库?因为我尝试了你告诉我的方法,而且方法还在那里,只是它没有做任何改变。很奇怪,不是吗

EDIT2:我四处查看,发现在模态对话框中使用日期选择器有问题……我发现:

1. Add this to the stylesheet

#ui-datepicker_div, .ui-datepicker { z-index: 1000; /* must be > than
popup editor (950) */ }

2. Modify the attribute of the dialog zIndex to 1:

$('#myDialog').dialog({
                        title: 'Datepicker on Dialog',
                        zIndex: 1
                }); 

但是它仍然不适合我……

jQuery可以很好地工作,无论是从局部视图还是从普通视图调用,最终都会以文本的形式呈现出来

浏览故障排除想法列表:

1) jQuery是否在将显示此文本框的页面上正确引用

2) 您的app.js文件是否被正确引用

3) 页面上是否正确引用了jQuery UI的javascript文件?您可以通过警告函数来测试这一点:
alert($.fn.datepicker)

4) jQueryUI的所有CSS和图像是否都位于适当的位置,或者是否需要使用适当的URL更新CSS文件以查找图像

5) 浏览器是否报告了任何Javascript错误

6) 对datepicker的调用是发生在
.ready()
事件内部还是其他地方?

请检查

  • 如果jQuery库和jQuery ui被正确引用
  • 确保
    $('#Published').datepicker()在里面

    jQuery(文档).ready(函数(){ });

  • 您的app.js文件是否被正确引用


  • 它是否包装在
    document.ready
    事件处理程序中,如下所示:
    $(function(){$('#Published').datepicker();})?是的,它被包装在一个文档中。ready事件处理程序,这就是为什么我不明白看起来如此简单的东西并不是那么多。你能在ready回调函数中编写一点
    警报(“ready”)
    代码吗?也许ready没有启动它,我试过你说的,但它确实启动了,它只是通过datepicker方法调用,没有做任何事情……有什么线索吗?你试图在对话框上放置一个datepicker?jquery在页面上被正确引用,就像在site.master页面上被引用一样。所以1,2,3显示了datepicker函数,所以我认为它可以工作。4是有效的,因为我在模态框中使用它,它是有效的。我有firebug,它不会报告任何错误。是的,它是从.ready()方法调用的是的,所有这些都完成了,我编辑了这篇文章来展示我是如何做到的。还是没有运气
     $().ready(function() {
    
        var place = window.location.pathname;
        var placesplit = place.split("/");
        //Depending on the location we are on, we execute different subroutines
        $('#Published').datepicker();
    
    });
    
    1. Add this to the stylesheet
    
    #ui-datepicker_div, .ui-datepicker { z-index: 1000; /* must be > than
    popup editor (950) */ }
    
    2. Modify the attribute of the dialog zIndex to 1:
    
    $('#myDialog').dialog({
                            title: 'Datepicker on Dialog',
                            zIndex: 1
                    });