我需要一个显示日期选择器的字段。我按照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
});
但它仍然不适合我......
答案 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)
请检查
确保$('#Published').datepicker();
在
jQuery(document).ready(function(){ });
您的app.js文件是否正确引用?