1

Codeigniter アプリに問題があります。ajaxでデータをロードしたい。私のページでは、jQuery関数を実行するonclick関数を書いています。そして、私の関数では、その応答をコントローラーに投稿するだけです。ここに私のjQuery関数があります

 function callplayer(filepath,videocode,createdby){

        $.ajax({
            type    :   "POST",
            url :       base_url+"home/loadVideo",
            data    :   {id:videocode,video:filepath,user_id:createdby},
            success :   function(html){
                    var container = $('#company'); //jquery selector (get element by id)
                       if(html){
                          container.html(html);
                       }

            }
        });

     } 

そして、これが私のloadVideo関数です(私のコントローラー)

function loadVideo(){
        $user_id = $_POST['user_id'];
        # Get Company 
        $user_id = $_POST['user_id'];
        $company = $this->load->model('usermanager_model', 'usermanager');
        $company_details[datas] = $this->usermanager->getCompany($user_id); 

        # Pass data to view
        $this->load->view('home_view', $company_details);

}

そして、私のモデルが正常に機能していることを心配しないでください。これが私の見解です

   <div class="video-part">
    <div class="video-details">

        <div id="test">
        <div id="mediaplayer">JW Player goes here</div>
    <?php  echo $url = vimeourl2videourl('http://vimeo.com/moogaloop.swf?clip_id=2539741') ?>
    <script type="text/javascript" src="<?php echo base_url()?>player1/jwplayer.js"></script>
    <div id="mediaplayer">JW Player goes here</div>

    <script type="text/javascript" src="jwplayer.js"></script>
    <script type="text/javascript">
        jwplayer("mediaplayer").setup({
            flashplayer: "<?php echo base_url() ?>player1/player.swf",
                        height:"350",
                        width:"500",
            'playlist': [{
            'file': 'www.youtube.com/watch?v=dHBJ8jk3944', 
            'image': '/thumbs/video1.jpg',
            'title': 'The first video'
        },],
        repeat: 'list'           
        });
    </script>
    </div>
        <div class="video-text">

            <div id="company">

            <?php 
            /*
            echo "<pre>";
             print_r($datas);
             echo "</pre>";
                */        
            foreach ($datas as $row) :
           echo $row['companyName']; 
           endforeach;

            ?>

            </div>
            <span class="txt-small">2013-06-09  |  +011 888 88   |   Canada </span>
            <span class="txt-small">Lorem Ipsum is simply dummy text of the printing and typesetting industry. </span>
            <div class="social-icons row-fix">
                <a href="#"><img src="<?php echo base_url() ?>images/icon-down.png" alt=""></a>
                <a href="#"><img src="<?php echo base_url() ?>images/icon-here.png" alt=""></a>
                <a href="#"><img src="<?php echo base_url() ?>images/icon-wifi.png" alt=""></a>
                <a href="#"><img src="<?php echo base_url() ?>images/icon-save.png" alt=""></a>
                <a href="#"><img src="<?php echo base_url() ?>images/icon-facebook.png" alt=""></a>
                <a href="#"><img src="<?php echo base_url() ?>images/icon-twitter.png" alt=""></a>
                <a href="#"><img src="<?php echo base_url() ?>images/icon-google.png" alt=""></a>
                <div class="sign-up row-fix">
                    <a href="<?php echo base_url().'registration';?>">Signup</a> <span>|</span> <a href="<?php echo base_url().'registration';?>">Login</a>
                    <div> <a href="#" class="request">Request for Product Info</a></div>
                </div>
            </div>
        </div>
    </div>
</div>

私の問題は、画像をクリックするたびに(オンクリック機能)、html divタグが繰り返されるコンテンツをロードすることです。しかし、そのデータをコントローラーで印刷すると、正常に機能します。フェッチされたデータのみが正しく表示されます。そのデータを表示および印刷に渡すと、フェッチされたデータが div タグが繰り返されて表示されます。私の友人は、jQuery の追加機能を使用するように私に言いました。しかし、私はjQueryに慣れていません。適切な解決策を見つけるのを手伝ってください..?

4

1 に答える 1

2

ビューhome_viewファイルには、その会社の詳細に必要な最小限の HTML マークアップのみを含めて、出力が#cointainerdiv 内に読み込まれるようにする必要があります。

ビュー ファイルにフル ページの HTML コードがある場合、そのフル ページの HTML がその#containerdiv 内に読み込まれ、div が繰り返されます。

あなたのビューファイルは以下のものだけを持つべきです:

<div id="company">
<?php 
    foreach ($datas as $row) :
        echo $row['companyName']; 
    endforeach;
?>
</div>
于 2013-10-11T12:57:06.913 に答える