代码改变世界

利用JQuery+EasyDrag jQuery Plugin实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值

2009-10-22 18:32  Virus-BeautyCode  阅读(3262)  评论(1编辑  收藏  举报

 

  JQuery是一个优秀的Javascript类库,使得我们曾经对JavaScript的痛恨不再,越来越喜欢上了JavaScript,而且更好的是他的plugin众多,原来我们要写一个客户端的特效,要写一两天的JavaScript,然后再调试一两天,才可以看见端倪。现在我们只要使用JQuery和他的plugin,就可以任意的实现我们脑海中的特效,感谢他们的编写者对人类的贡献(一百个西红柿砸过来。。。。。。。。。。。。。。)。

  我今天实现的需求是一个需要从列表页面中选择要导出到word中的列,然后在将选中列的内容导出到word中,同时为了增加通用性,列的个数不是固定的,也就是说这张表格可能是4列,也可能是5列,待选择的列数目不固定。例如:有下面的一张表格,然后我们要打印除薪水外的其他列。  

姓名

年龄

性别

薪水

张三 19 10000
张三 19 10000
张三 19 10000

 

      我的设计是先用后台代码循环这个表格的表头,组成下面的字符串

      1-Name--2-Age--3-Sex--4-Salary,将这个字符串存储在hiddenfield中,然后由JavaScript读取,动态在弹出Div中添加checkbox对应的html,

<

 

 

     

 

 

 

      然后在选择之后将选择的值组成对应的字符串,例如:选择Name、Age、Sex,就组成,1-Name--2-Age--3Sex,存放在另外的一个hiddenfield中,在后台代码读取这个选中的字符串,将表格中相应的列导出到word中。

      同时为了使这个弹出页面可以拖动,使用了EasyDrag jQuery Plugin,可以从http://fromvega.com/wordpress/2007/07/14/easydrag-jquery-plugin/下载。

      这个插件很好用,也很简单,

         实现拖动效果.

 

  $(document).ready( function()
       {
        $(
"#divPanel").easydrag();
       }
     );

 

         Html 代码

 


  <div id="divPanel" style="width:300px;height:300px;background:white;border:1px solid #000000;position:absolute;left:5px;top:50px" >
        
<div id="divTitle" style="width:100%;height:25px;background:lavender">
            
&nbsp;Title
        
</div>
        
<div style="width:100%">
            
        
</div>
    
</div>

 

        EasyDrag还可以指定可拖动的区域,比如只能通过标题拖动整个div,我们JS可以这样写

 

    $(document).ready ( function()
            {
                $(
"#divPanel").easydrag();
            
                $(
"#divPanel").setHandler("divTitle");
            }
        );

 

 

     

 

JQuery弹出Div,传值,返回传值

      源代码下载:

      /Files/virusswb/JQuery弹出Div.rar