我有一个非常简单的页面,有cfgrid记录集。当您单击该行时,我正在向cfdiv发送唯一的id,并显示一个带有jqueryui datepicker的页面。但是,当我单击一行时,datepicker不起作用。我用谷歌搜索了一遍又一遍,但不知道为什么。下面是我的cfgrid和cfdiv所在的代码:
<html>
<head>
<title>Submit Roomate Available</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!---<script src="../assets/js/jQuery126-min.js""></script>--->
<script src="../assets/js/jquery-1.7.2.min.js""></script>
<script src="../assets/js/jquery-ui-1.8.21.custom.min.js""></script>
<link href="../assets/css/flick/jquery-ui-1.8.21.custom.css" rel="stylesheet" type="text/css">
</head>
<cfquery name="findrec" datasource="#datasourcename#">
SELECT *
FROM students
WHERE class = 'rmavail'
order by last
</cfquery>
<cflayout type="accordion" width="677">
<cflayoutarea title="Listings">
<cfform>
<cfgrid name="listings"
width="677"
height="200"
format="html"
query="findrec">
<cfgridcolumn name="listingID" header="Listing ID"/>
<cfgridcolumn name="first" header="First Name"/>
<cfgridcolumn name="last" header="Last Name"/>
<cfgridcolumn name="dateListed" header="Date Listed"/>
<cfgridcolumn name="email" header="Email"/>
<cfgridcolumn name="active" header="Active"/>
</cfgrid>
</cfform>
</cflayoutarea>
</cflayout>
<cfdiv bind="url:admin_rma.cfm?listingid={listings.listingID}&func=Edit"/>
</body>这是cfdiv加载的页面(admin_rma.cfm) --这是datepicker所在的位置,希望我可以开始工作。我已经将放置jquery库的所有组合都绑定在一起,这只是其中的一个组合……
<script>
$(function() {
$( "#datepicker" ).datepicker({ maxDate: "+1m +1w" });
});
</script>
<table cellpadding="0" cellspacing="0" width="698" align="center">
<tr align="left" class="formheaders">
<td>
<font color="red">*</font>Date Available</span> (mm/dd/yyyy) <br>
<input id="datepicker" type="text">
</td>
</tr>
</table>发布于 2012-12-01 15:25:10
这是因为在cfdiv标签上呈现html内容之前执行javascript。在调用datepicker之前,尝试延迟使用setTimeout函数,它应该可以工作。请在下面尝试
<script>
setTimeout(function() {
$( "#datepicker" ).datepicker({ maxDate: "+1m +1w" });
},500);
</script>
<table cellpadding="0" cellspacing="0" width="698" align="center">
<tr align="left" class="formheaders">
<td>
<font color="red">*</font>Date Available</span> (mm/dd/yyyy) <br>
<input id="datepicker" type="text">
</td>
</tr>
</table>在这种情况下,我在创建datepicker对象之前给出了500毫秒的延迟,以确保输入字段已经呈现在html上下文中。PS:这不是合适的解决方案,因为根据浏览器能力和html内容的大小,将html内容加载到cfdiv可能需要超过500ms。这只是为了证明datepicker()函数是在加载之前调用的。
希望这能有所帮助。
发布于 2012-06-15 23:16:46
使用firebug,确保正在加载jQuery。如果你使用的是jQuery UI,你可能不想使用cflayout type=“jQuery”。
https://stackoverflow.com/questions/11044465
复制相似问题