【发布时间】:2010-05-26 12:24:40
【问题描述】:
我需要一个显示日期选择器的字段。我按照 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();
});
但是当我专注于文本字段时没有任何反应。怎么了?难道是从局部视图调用它不起作用?
谢谢大家, 维克托
编辑:我已经更新了 js,所以它显示了我现在添加的内容。这很奇怪,但是 $('#Published').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
});
但它仍然对我不起作用......
【问题讨论】:
-
它是否包含在
document.ready事件处理程序中,例如:$(function() { $('#Published').datepicker(); });? -
是的,它被包裹在一个 document.ready 事件处理程序中,这就是为什么我不明白看起来那么简单的东西其实并没有那么多。
-
你能在ready-callback函数中写一点
alert("ready")代码吗?也许准备好了没有开火 -
它触发了,我试过你说的,但它肯定触发了,它只是通过 datepicker 方法调用,它没有做任何事情......任何线索?
-
您正试图在对话框中放置一个日期选择器?
标签: asp.net javascript jquery asp.net-mvc