2012-03-11 31 views
0

我要重複一個問題,我之前問過但我需要使用datepicker的幫助。我看不到如何使用我爲.on('click')問題獲得的解決方案。我可以看到datepicker可能是一個onclick事件。解決方案是將CFdiv放入div中,並監聽該元素內的元素的onclick。下面的日期選擇器函數的輸入是;Jquery和CFML - 在CFdiv裏面的日期選擇器

<cfinput type="text" class="datestuff" name="IndepthWRec" id="IndepthWRec" value="#CandidateChecklistInfo.IndepthWRec#" /> 

我有一個CF頁面有CFdiv。 Cfdiv綁定到頁面上的元素。主頁面包含腳本。沒有任何腳本在CFdiv中的元素上執行。 ajax調用似乎有問題。當我拿出這些代碼時,其餘的代碼似乎在Firebug中啓用,但仍然不會執行。

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#candidatesubmit').on('click', function() { 
     $.ajax({ 
     type: 'POST', 
     url: 'actEditStatusForm.cfm', 
     data: 'form=', 
     error: function (xhr, textStatus, errorThrown)(
     // show error 
     alert(errorThrown);), 
     success: function (response1, textStatus, jqXHR)(
     alert('success');) 
     }); 
    ColdFusion.Grid.refresh('candidatesGrid', true); 
    }); 
    $(function() {$("#JDOrgChartRESOutlineSentToCand").datepicker({dateFormat: 'yy/mm/dd'});}); 
    $(function() {$("#IndepthWRec").datepicker({dateFormat: 'yy/mm/dd'});}); 
</script> 
+0

是否有可能在jQuery庫和ColdFusion AJAX實現使用的ExtJS庫之間存在某種衝突? ''和其他ColdFusion AJAX元素(如'')會在頁面頂部加載一堆JS代碼。我們遇到了與jQuery代碼衝突的問題,並且傾向於儘可能遠離那些標籤。在這種情況下,你可能無法做到這一點;也許你應該考慮使用另一個日期選擇器,如(呃)''(如果你的最終用戶使用Flash)。 – 2012-03-12 13:58:46

回答

1

如果您正在加載使用Ajax的形式,就需要新的HTML已經被插入後,阿賈克斯成功回調中初始化日期選擇器。你不能在元素存在之前調用datepicker,所以像on()這樣的委託方法是無用的

+0

表單包含用於製表符的cflayouts,其中一個包含cfgrid。 Cfdiv綁定到其中一個cfgriditems。所以,我實際上沒有回調。無論如何不容易訪問。這是一個複雜的頁面,我現在不想重寫大部分內容。 – user990016 2012-03-11 15:36:52

+0

規則很簡單...不能調用datepicker直到html存在 – charlietfl 2012-03-11 15:52:26

+0

我發現大部分答案[link] http://www.raymondcamden.com/forums/messages.cfm?threadid=D4968C47-F81C-B20A -1A5E85BFF9991B7B [/鏈接] – user990016 2012-03-11 17:16:26