冷却窗口中的jquery没有在负载上运行

时间:2015-07-28 17:43:28

标签: javascript jquery coldfusion coldfusion-8

我遇到的问题是我有一个在页面加载时调用的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

1 个答案:

答案 0 :(得分:0)

对于那些臭名昭着的CF ajax,你需要遵循他们的做事方式。查看https://wikidocs.adobe.com/wiki/display/coldfusionen/AjaxOnLoad

上的AjaxOnLoad()