2012-01-17 65 views
1

有誰知道使用ColdFusion的CFLAYOUT實現拖放功能的方法嗎?我試着用選項卡和jQuery的可排序插件創建一個cflayout,但無法使其工作。這裏是我正在使用的代碼:ColdFusion CFLAYOUT選項卡的拖放

<script type="text/javascript" src="/scripts/jQuery_MenuDragDrop.js"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("ul.x-tab-strip").sortable({ 
      placeHolder: "ul.x-tab-strip", 
      connectWith: "ul.x-tab-strip", 
      update: function() { 
       alert("test"); 
      } 
     }); 
    }); 
</script> 

<cfset variables.Tabs = ["test 1", "test 2", "test 3"]> 
<cfset variables.TabIDs = [1, 2, 3]> 

<cflayout type="tab" name="ProjectTabs" style="width:975px;"> 
    <cfloop index="i" from="1" to="#ArrayLen(variables.Tabs)#"> 
     <cflayoutarea name="ProjectTab#variables.TabIDs[i]#" title="#variables.Tabs[i]#"></cflayoutarea> 
    </cfloop> 
</cflayout> 

謝謝!

回答

1

試試這個:

<script type="text/javascript"> 
    window.onload = function(){ 
     setupSortable(); 
    }; 

    setupSortable = function(){ 
     $(".x-tab-strip").sortable({ 
      update: function() { alert("test"); } 
     }); 
    } 
</script> 

有一件事,我發現關於jQuery是它有助於試圖轉儲你認爲你的選擇和工作從那裏。我在文檔的頂部放置了一個console.log($('ul.x-tab-strip'));。它沒有打印任何內容 - 但是在超時中設置它會拋棄預期的目標。你可能不得不擺弄一下超時。

老實說,我會考慮尋找替代cflayout標籤如果你可以。 CF生成的代碼很混亂,有時候很難使用。我偏愛jQuery工具:http://flowplayer.org/tools/tabs/index.html

+0

嘗試過,並嘗試將它嵌入到$(window).load()函數中。仍然沒有辦法。問題是這是一箇舊系統,所以重新制作不同的標籤需要很長時間。幕後有很多事情要做。 – Whatevo 2012-01-18 17:02:35

+1

讓這個嘗試: '<腳本類型= 「文本/ JavaScript的」> \t的window.onload =函數(){ \t \t setupSortable(); \t}; \t \t \t setupSortable =函數(){ \t \t $( 「X-製表帶材 」)排序({ \t \t \t更新:函數(){ \t \t \t \t警報(「 測試」) ; \t \t \t} \t \t}); \t} ' – ShortRound1911 2012-01-19 22:23:10

+1

是的,window.load方法工作出色,謝謝! – Whatevo 2012-01-20 07:29:52