0

テーブルからポップアップにデータを渡すにはどうすればよいですか。これが私のテーブルでの方法です。コントローラーとモデルを使用して、データベースからテーブルにデータを入力します

    <table class="table table-striped table-checkable" id="demo-dtable-02" aria-describedby="DataTables_Table_0_info">
        <thead>
            <tr>
                <th class="sorting" role="columnheader" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="Subject: activate to sort column ascending" style="width: 220px;">??</th><th class="sorting" role="columnheader" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="Date: activate to sort column ascending" style="width: 79px;">??</th>
            </tr>
        </thead>
        <tbody role="alert" aria-live="polite" aria-relevant="all">

            <?php
                    foreach ($my_page_data['text_list']as $text_list_key => $text_list_data){
            ?>

            <tr class="odd">
                <td class=" "><a href="#" onclick="viewText(<?php echo $text_list_data['id'] ?>)" data-toggle="modal" data-target="#view-text" ><?php $msg = $text_list_data['msg']; ?></a></td>
            <div id="<?php echo $inbox_list_data['id'] ?>" data-content="<?php $msg = $inbox_list_data['message']?>"></div> <!-- i used this as a hidden div for the data to be passed because i dont know other ways -->                                                                          
                <td class=" "><?php $date =  $text_list_data['date_updated'];?></td>
            </tr>
            <?php } ?>
        </tbody>
    </table>

次に、スクリプトを使用してデータを渡しました...

    <script>
        function viewInbox(id){
            $('#inbox-message-body').text($('#'+id).attr('data-content'));
        }
    </script>

そして、クリックされたデータがここに表示されます:

    <div class="modal-body">
        <div class=" . . .">
            <div class="..">
                <span class="view-label">From:</span> MY OTHER DATA <!--TODO: -->
                <br>
                <span class="view-label">To:</span> MY DATA<!--TODO: -->
                <br>
            </div>

        </div>
            <!--TODO: Message body-->  I
       <span id="message-body" class="span8"></span> 

    </div>

このコードは 1 つのファイルにまとめられています。作成中のページはこんな感じです。メッセージの表があります。メッセージを表示するには、それをクリックするとポップアップが表示されます。

洞察はありますか?

あなたの助けは大歓迎です。

4

1 に答える 1

0

私がそれを行う方法は、モーダルテンプレートを別のコントローラーに割り当ててから、このように ajax リクエストを介して呼び出すことです。

$(".modalCaller").click(function(){
    $.ajax({
        type: POST,
        url: "/insert/modal/controller/here",
        data: {id: $(this).data("id")},
        success: function(data){
           data.appendTo("body").modal("show");
        }
    })
});

モーダルを別のビューにドロップするだけです。

于 2013-10-10T07:05:30.303 に答える