zoukankan      html  css  js  c++  java
  • zendFream 中的用到了Ajax(其中有搜索)分页

    最近在用ZendFreamwork开发一个后台,其中用到了分页,ZendFreamwork自带的分页挺好用的,可是我其中用到了Ajax的局部刷新,在加上一些搜索条件,所以分页有点无头绪了。下面我来介绍下我的方法:

    1.首页我这个页面有两种选择情况我用a(渠道)和b(应用) 代替了,如果搜索的条件是a中的,那么就执行a 方法,如果是b 就执行b 方法,只刷新下边的列表部分

    这里面php部分不说了,ZendFreamwork的分页可以看下手册,只说其中我认为最重要的(关键当时这个地方不会)

    我的模板页面都是用js写的如何传参和执行的php方法名称:(可能写的不是很好,请见谅)

    html页面:

    <dl>

    <dt>渠道:<input type="radio" name="type" value="1" checked="checked" /></dt>

    <dd>

    选择渠道<select name="cid" id="cid" title="渠道" class="add-text">

    <option value="0">请选择</option>

    <option value="1">博客园</option>

    </select>

    选择包<select name="q_pid" id="q_pid" title="当前资源"  class="add-text">                            

    <option value="">请选择资源</option>

    </select>

    <dd>

    </dl>

    <dl>

    <dt>应用:<input type='radio" name="type" value="2" /></dt>

    <dd>

    选择应用:<select name="pro" id="pid" title="应用" class="add-text">

    <option value="0">请选择</option>

    <option value="1">博客园</option>

    </select>

    选择包: <select name="pid" id="y_pid" title="当前资源"  class="add-text">

    <option value="">请选择资源</option>

    </select>

    </dd>

    </dl>

    <script type="text/javascript">

     var showReport = (function(){

    function showList(type,date,cid,y_pid,q_pid,pid){

       var url = "";
             switch(type){
                    case "1":
                        url = "/data/xiang/showpk";
                        break;
                    case "2":
                        url = "/data/xiang/show";
                        break;
                    default:
                        url = "/data/xiang/showpk";
                        break;
                }

        $.ajax({
                 url:url,
                 data:{
                     date:date,cid:cid,y_pid:y_pid,q_pid:q_pid,pid:pid
                 },
                 type:"post",
                 dataType:"html",
                 success:function(data){
                     $("div#divTable").html(data).show(300);
                 }
             });

    }

    })();

    $(function(){

      //选择应用时刷新对应的包

      $("#pid").change(function(){
             var url = "/data/xiang/getpackages";
             var sql = "pid";
                 Ajaxpackages($("#pid").val(),$("#y_pid"),url,sql);//pid,包id,Ajax地址,php页面字段名
         });
         if($("#pid").val()){
             var url = "/data/xiang/getpackages";
             var sql = "pid";
                Ajaxpackages($("#pid").val(),$("#y_pid"),url,sql);
           }

      //选择渠道时刷新对应的包
         $("#cid").change(function(){
            var url = "/data/xiang/getpackages";
             var sql = "cid";
                 Ajaxpackages($("#cid").val(),$("#q_pid"),url,sql);//cid,包id,Ajax地址,php页面字段名
         });
         if($("#cid").val()){
              var url = "/data/xiang/getpackages";
              var sql = "cid";
              Ajaxpackages($("#cid").val(),$("#q_pid"),url,sql);
           }

      showReport.showList("1","<?php echo $this -> views['date'];?>");//加载页面时执行
         showReport.searchList();

    //分页

    $("#pages a").live("click",function(e){           

    var gurl = $(this).attr("href");    //这是a 标签的链接地址,主要用于Page的传值

     var type = "1";
    $("input[name='type']").each(function(){
          if($(this).attr("checked")){
                  type = $(this).val();
          }
    });     

    var url = "";
             switch(type){
                    case "1":
                        url = "/data/xiang/showpk";
                        break;
                    case "2":
                        url = "/data/xiang/show";
                        break;
                    default:
                        url = "/data/xiang/showpk";
                        break;
                } 

    var date = $("input[name='date']").val();                 

    var cid = $("#cid").val();                 

    var q_pid = $("#q_pid").val();                 

    var y_pid = $("#y_pid").val();                 

    var pid = $("#pid").val();          

    $.ajax({              

    url:url+gurl,              

    data:{                   

    date:date,cid:cid,y_pid:y_pid,q_pid:q_pid,pid:pid              

    },              

    type:"post",              

    dataType:"html",

     success:function(data){

           $("div#divTable").html(data).show(300);

     }

     });

      e.preventDefault();//去掉a标签的单击默认的操作

     })

    });

    function Ajaxpackages(pid,pk,url,sql){
         $.ajax({
             url:url,
             type:"post",
             data:{pid:pid,v:new Date().getTime(),sql:sql},
             success:function(data){
                 if(data){
                     var jsondata=eval(data);
                     var len = jsondata.length;
                     var selectContent = "<option value=''>资源包</option>";
                     for(var i=0;i<len;i++){
                         if(jsondata[i].acc_name){
                             selectContent += '<option value="'+jsondata[i].acc_id+'">'+jsondata[i].acc_name+'</option> ';
                         }
                     }
                 }else{
                     selectContent = '<option value="">--没有对应的包--</option> ';
                 }
                 pk.html(selectContent);
             }
         });
     }

    </script>

  • 相关阅读:
    洛谷P1002 过河卒
    XAF 接口和BOModel<DC翻译博客四>
    XAF DC中的关联<DC翻译博客三>
    XAF 组合关联<DC翻译博客十一>
    XAF 转换不同应用程序模型
    XAF How to: Implement Domain Components(如何实现领域构件)
    XAF 对基库的思考<DC翻译博客五>
    XAF–The State of Domain Components Technology in V2010 Vol 2
    Xpand Easy Sequential numbers(易用的序列号)
    XAF 如何实现批量更改多列多行单元格的值
  • 原文地址:https://www.cnblogs.com/yuexin/p/3217450.html
Copyright © 2011-2022 走看看