我遇到的问题是我有一个在页面加载时调用的jQuery函数。在页面上我有一个cfgrid打开一个coldfusion窗口,但jQuery将无法在该窗口上工作。我已经尝试将jQuery放在两个页面上,但我根本无法使用它。我知道jQuery很好,我通过浏览器运行它并按预期工作。它只是不会在新窗口中加载。
我的想法是我的网格有名字,一旦点击,就会打开一个带有日期列表的cfwindow。单击日期后,它将在div infodiv
中显示正确日期的信息。此$(document).ready(function(){}
在新窗口中不起作用。
的JScript / jquery的
$(document).ready(function(){
$('.infodiv').hide();
$('#record').change(function(){
var state = $(this).val();
if(!state) $('infodiv').hide();
var div= $('#' + state );
div.removeClass('infodiv');
$('.infodiv').hide();
div.addClass('infodiv');
if ( !div.is(':visible') ) div.fadeIn(500);
});
});
function selectProfile(button,event){
var grid = ColdFusion.Grid.getGridObject("myGrid");
var record = grid.getSelections();
var key = record[0].data.REF
var config = new Object();
// config style details
config.bodyStyle='font-size:20px; font-family: Arial; color: #ff0000;';
config.headerStyle ='font-family: Arial; background-color: red; color: white;'; ColdFusion.Window.create("selectProfileWindow","Records","viewrecords.cfm?CFGRIDKEY="+key , config);
ColdFusion.Window.onHide("selectProfileWindow",cleanup);
document.getElementById(ColdFusion.Window.getWindowObject("selectProfileWindow").header.id).className = "windowHdr";
}
这是在网格上弹出的ColdFusion窗口viewrecords.cfm
选项,它应该运行jQuery并根据我的record
选择框隐藏/显示div
<td>
<cfselect name="record" id="record">
<cfloop query="grabRecords">
<option value="#sequence#">
#startDate# - #endDate#
</option>
</cfloop>
</cfselect>
</td>
<td>
<cfloop query="grabRecords">
<div id="#sequence#" class="infodiv">
#ref# - #Name#
</div>
</cfloop>
</td>
编辑:使用过时的coldfusion 8
答案 0 :(得分:0)
对于那些臭名昭着的CF ajax,你需要遵循他们的做事方式。查看https://wikidocs.adobe.com/wiki/display/coldfusionen/AjaxOnLoad
上的AjaxOnLoad()