jquery-EasyUI---panel面板的用法

1、面板大致使用方法和ext差不错,之前有学过一些ext的知识,这里不对panel中的细节进行配置

直接学习在应用场景中如何加载数据,在面板中加载数据

1、标签的形式:

<div >     
           
        data-options="iconCls:'icon-save',closable:true,    
                collapsible:true,minimizable:true,maximizable:true">   
    <p>panel content.</p>   
    <p>panel content.</p>   
</div> 

2、远程加载;

1 <div  
2 data-options="href:'test.json?page=1'"> 

3、js

 1 <div      
 2            
 3        >   
 4         <p>panel content.</p>   
 5         <p>panel content.</p>   
 6     </div> 
 7     <ul>
 8         <li>ddddd</li>
 9         <li>ddddd</li>
10         <li>ddddd</li>
11     </ul>

4、我们想刚刚那种href指向某个文件的方式返回的数据格式有可能不是我们需要的,因此我们需要对数据格式进行修改

 1 $("#move").click(function  () {
 2             $('#p').panel({
 3                 tools:[{
 4                     iconCls:'icon-reload',
 5                     handler:function(){
 6                         $('#p').panel('refresh', 'test1.html');
 7                     }
 8                 }],
 9                 extractor: function(data){
10                     //这里可以对返回的data进行处理
11                     return data;
12                 }
13             });   
14         })

还有一种方式是我们请求某个html文档,我们用正则去匹配到body中间的内容

修改过后的代码:

 1 $('#p').panel({
 2                 tools:[{
 3                     iconCls:'icon-reload',
 4                     handler:function(){
 5                         $('#p').panel('refresh', 'test1.html');
 6                     }
 7                 }],
 8                 extractor: function(data){
 9                     var pattern = /<body[^>]*>((.|[\n\r])*)<\/body>/im;
10                     var matches = pattern.exec(data);
11                     if (matches){
12                         console.log(matches[1])
13                         return matches[1];    // 仅提取主体内容
14                     } else {
15                         return data;
16                     }
17                 }
18             });