2012-01-17 34 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

相关问题