1

4 つのリンクの 1 つの領域にデータをアップロードしたいのですが、link1 をクリックすると特定の領域にデータが読み込まれ、link 2 をクリックすると最初のリンクが開いた同じ領域にページが読み込まれます。私がする?

    <div class="container">
    <div class="span-5">
        <ul>
            <li><?php echo $this->Manager->link('Ecommerce',array('controller'=>'associations','action'=>"view_report"),array('id'=> 'home','class'=>'nav'));?></li>
            <li><a href="#" id="home" class="nav">Home</a></li>
            <li><a href="#" id="about" class="nav">About</a></li>
            <li><a href="#" id="contact" class="nav">Contact Us</a></li>
        </ul>
    </div>
</div>

eコマースリンクから開きたいデータは、そのようなnewfile.ctpのintです

 <?php v_start($this);?>

<h1><?php echo __l('View Report');?></h1>

<div class="firsttable">
    <table width="100%" border="0" cellspacing="0" cellpadding="2">
        <thead>
          <tr class="heading">
            <td><?php  echo __l('Financials');?></td>
            <td><?php  echo __l('Payment Methods');?></td>
            <td><?php  echo __l('By Credit Card');?></td>
          </tr>
        </thead>
        <tbody>  

          <tr>
            <td>
                <?php 
                    echo __l("YTD \t ");
                    $ytd_total=0;
                    foreach ($YTD as $yearData)
                    {

                        $ytd_total +=$yearData['AssocPaymentDetail']['membership_fee'] - $yearData['AssociationDiscount']['amount'];

                    }
                    echo  $ytd_total."<br />";

                ?>
                <?php

                echo __l("Last 5days ");
                 $fda_total= 0;
                 foreach ($fiveDays as $fiveDaysData)
                    {

                        $fda_total += $fiveDaysData['AssocPaymentDetail']['membership_fee'] - $fiveDaysData['AssociationDiscount']['amount'];

                    }
                    echo $fda_total ."<br />";
                 ?> 
            </td>
            <td><?php  echo __l('creditcard');?>  <?php echo __l($ccSum) ?> </td>
            <td>
                <?php
        //       debug($paymentRecord);
        //      debug($ccIndex);
                    foreach($paymentRecord as $data =>$key){
                        foreach($ccIndex as $index){
                            if($data== $index)
                            {
                                echo "$data \t\t\t";
                                if(is_array($key))
                                    echo array_sum($key);
                                else 
                                    echo "\t\t $key";


                            }

                            echo "<br/>";
                        }   

                    }

                ?>
            </td>
          </tr>
        </tbody>  
    </table>
</div>

これを行うのを手伝ってください、事前に感謝します

4

4 に答える 4

3

さて、追加のjqueryを使用せずにこれを行いました

<div class="container">
 <div class="span-5">
    <ul>
        <li><?php echo $this->Manager->link('Ecommerce',array('controller'=>'associations','action'=>"view_report"),array('update'=> '#testDiv'));?>li>
        <li><a href="#" id="home" class="nav">Home</a></li>
        <li><a href="#" id="about" class="nav">About</a></li>
        <li><a href="#" id="contact" class="nav">Contact Us</a></li>
    </ul>
   </div>
   </div>
 <div id = 'testdiv'></div>

ケーキは、ケーキのプロパティ更新を使用して、それ自体で領域を更新します。答えが正しいか間違っているかに関係なく、その質問に答えてくれてありがとう。皆さんありがとう

于 2013-02-27T12:46:18.377 に答える
1

navクラス名としてすべてのリンクに単一のリクエストハンドラをアタッチしてから、出力をコンテナにロードできます

$(".nav").on('click', function() {
    $("#loadingdiv").load("linktoload.php"); // or other 

});
于 2013-02-27T10:04:29.313 に答える
1

リンクを href 属性に入れ、jquery を介して次のように処理します。

$('a.nav').click(function(e){
 e.preventDefault();
 $.get($(this).attr('href'), function(data){
  $cont = $('[CONTAINERS SELECTOR]');
  $cont.html(data);
 })
})

コメント後に編集

htmlを次のように変更します

<div class="container">
<div class="innerCont"></div>
    <div class="span-5">
        <ul>
            <li><?php echo $this->Manager->link('Ecommerce',array('controller'=>'associations','action'=>"view_report"),array('id'=> 'home','class'=>'nav'));?></li>
            <li><a href="#" id="home" class="nav">Home</a></li>
            <li><a href="#" id="about" class="nav">About</a></li>
            <li><a href="#" id="contact" class="nav">Contact Us</a></li>
        </ul>
    </div>

コンテンツセレクターをdiv.innerCont

$cont = $('div.innerCont');
于 2013-02-27T09:50:10.910 に答える
1

HTMLでリージョンを指定していません。ここでは、ulノードの直後にあると想定します

$uls = $("ul.span5"); // select all page ul.span5
$uls.each(function(){ // for all ul.span5 node
    $ul = $(this); // current ul to work
    $region = $("<div/>").insertAfter($ul); // dynamic create and insert the region, as a div
    $links = $ul.find("a.nav"); // select all sub links
    $links.click(function(e){ // click on links
        $a = $(this); // current link
        var href = $a.attr("href"); // i assume you work on the href
        $region.load("myajax.php",{href:href},function(data){ // do ajax and load it in the common region
            // here load is done, do next step here
        });
        e.preventDefault(); // no real click please
    });
});
于 2013-02-27T09:56:27.080 に答える