我不能让datepicker工作

时间:2010-05-26 12:24:40

标签: asp.net javascript jquery asp.net-mvc

我需要一个显示日期选择器的字段。我按照JQuery UI文档给出的示例,并没有设法让它工作。我的html我的文本字段是:

<div class="editor-field">
                <input type = "text" name = "DatePublished" id = "Published" />
                <%= Html.ValidationMessage("DatePublished" ,"*") %>
            </div>

这个HTML在局部视图中,我们称之为pv.ascx,它在主页面中作为模态框调用:

<div id = "ModalBox">
                <% Html.RenderAction("pv", "Example"); %>
            </div>

问题是,我尝试在进入主页时随时调用datepicker创建,并且我在我的javascript文件app.js中执行此操作:

 $().ready(function() {

    var place = window.location.pathname;
    var placesplit = place.split("/");
    //Depending on the location we are on, we execute different subroutines
    $('#Published').datepicker();

});

但是当我专注于文本字段时没有任何反应。怎么了?可能是从部分视图调用它不起作用吗?

谢谢大家, vikitor

编辑:我已经更新了js,所以它显示了我现在添加的内容。这很奇怪,但$('#Publishing')。datepicker();即使在其他页面中没有这样的文本字段,也不会在firebug上生成错误。怎么会发生这种情况?我也尝试使用chrome调试器,也没有错误,它看起来像是立即忽略了这个方法。然后它只会出现在我的脑海中一个愚蠢的问题,我是否必须在我的site.master中引用某种类型的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
                }); 

但它仍然不适合我......

2 个答案:

答案 0 :(得分:1)

jQuery无论是从部分视图还是普通视图调用都可以正常工作 - 它最终都以文本形式呈现出来。

浏览疑难解答提示列表:

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

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

3)页面上是否正确引用了jQuery UI的javascript文件?您可以通过警告功能alert($.fn.datepicker)

来测试此功能

4)jQuery UI的CSS和图像是否都在适当的位置,或者您是否需要使用正确的URL更新CSS文件以查找图像?

5)您是否有浏览器报告的任何Javascript错误?

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

答案 1 :(得分:1)

请检查

  1. 如果jQuery库和jQuery ui被正确引用
  2. 确保$('#Published').datepicker();

    之内

    jQuery(document).ready(function(){ });

  3. 您的app.js文件是否正确引用?