Twitter bootstrap CakePHP将值传递给Bootstrap 2.x模式

Twitter bootstrap CakePHP将值传递给Bootstrap 2.x模式,twitter-bootstrap,cakephp,Twitter Bootstrap,Cakephp,我有一个包含“删除”按钮的表。单击“删除”按钮后,将出现一个模式。模式包含一个问题,询问用户是否希望从列表中删除该项。它还包含另一个按钮“是” 我不知道如何将数据传递给modal 已编辑 我的看法是: <tbody> <?php foreach ($docs as $docs) { ?> <tr> <td

我有一个包含“删除”按钮的表。单击“删除”按钮后,将出现一个模式。模式包含一个问题,询问用户是否希望从列表中删除该项。它还包含另一个按钮“是”

我不知道如何将数据传递给modal

已编辑 我的看法是:

<tbody>
            <?php
            foreach ($docs as $docs) {
                ?>
                <tr>
                    <td><?php echo $docs['Upload']['type']; ?></td>   
                    <td class ='actions'>
                        <div class="row">
                            <div class="col-sm-12 pull-right">
                                <?php
                                $uploadDetails = array(
                                    'class' => 'btn btn-primary btn-xs pull-right',
                                    'role' => 'button',
                                    'tabindex' => '-1',
                                    'id' => 'uploadDetails',
                                    'target' => '_blank'                                                    
                                    );

                                $download = array(
                                    'class' => 'btn btn-warning btn-xs pull-right',
                                    'role' => 'button',
                                    'tabindex' => '-1',
                                    'id' => 'downloadButton'
                                    );

                                $remove = array(
                                    'class' => 'btn btn-danger btn-xs pull-right',
                                    'role' => 'button',
                                    'tabindex' => '-1',
                                    'id' => 'removeButton'
                                    );
                                    ?>
                                    <?php
                                    echo $this->Html->link('View Details', array('controller' => 'schools', 'action' => 'uploaddetails', $docs['Upload']['iduploads']), $uploadDetails);
                                    ?>

                                    <?php echo $this->Html->link('Remove', '#removeUpload', array('data-toggle' => 'modal', 'data-id' => $docs['Upload']['iduploads'], 'role' => 'button', 'class' => 'btn btn-danger btn-xs pull-right', 'id' => 'removeButton')); ?>

                                    <!--<a href="#removeUpload" role="button" class="btn btn-danger btn-xs pull-right" tabindex="-1" data-toggle="modal" id="removeButton">Remove</a>-->

                                    <?php
                                    echo $this->Html->link('Download', array('action' => 'sendFile', $docs['Upload']['iduploads']), $download);
                                    ?>
                                </div>
                            </div>
                        </td>
                    </tr>
                    <?php
                }
                ?>
            </tbody>
这是我的删除功能:

public function remove(){
        $id = $this->request->params['pass'][0];

        if(!$id) {
            $this->Session->setFlash('Invalid action', 'alert_box', array('class' => 'alert-danger'), 'uploads'); 
            $this->redirect(array('controller' => 'schools', 'action'=>'documents'));
        } else {
            if($this->Upload->delete($id)) {
                $this->Session->setFlash('Selected document has been removed.', 'alert_box', array('class' => 'alert-danger'), 'uploads'); 
            }else {
                $this->Session->setFlash('Unable to remove selected document!', 'alert_box', array('class' => 'alert-warning'), 'uploads'); 
            }
            $this->redirect(array('controller' => 'schools', 'action'=>'documents'));
        }
    }

现在发生的是,如果我将鼠标悬停在“是”按钮上,我会在Chrome的左下角看到一条消息:localhost/app/schools/remove/undefined。

表中有许多行,只有一个模式。因此,您必须使用javascript在模式中根据单击的行创建删除链接

每行中的链接应类似于:

<?php echo $this->Html->link('Delete', '#modal', array('data-toggle' => 'modal', 'data-id' => $field['Model']['id'])); ?>

因此,我通过使用这段代码以及@PawelMysior的答案成功地实现了这一点

表中每行的链接:

<?php echo $this->Html->link('Delete', '#modal', array('data-toggle' => 'modal', 'data-id' => $field['Model']['id'])); ?>
要检查它是否工作,请将鼠标悬停在模式链接上,您将在浏览器的左下方看到路径

以前我使用@Pawel的jQuery代码时看到:localhost/app/schools/remove/undefined


现在,通过更新后的jQuery,我看到了以下内容:localhost/app/schools/remove/data\u id

我不确定“link\u to\u you\u delete\u action/”是什么意思。
<?php echo $this->Html->link('Delete', '#modal', array('data-toggle' => 'modal', 'data-id' => $field['Model']['id'])); ?>
<?php echo $this->Html->link('Delete', '#', array('id' => 'delete')); ?>
$('#modal').on('show.bs.modal', function(e) {
    $('#delete').attr('href', 'link_to_you_delete_action/'+$(e.relatedTarget).data('id'));
    });
<?php echo $this->Html->link('Delete', '#modal', array('data-toggle' => 'modal', 'data-id' => $field['Model']['id'])); ?>
<?php echo $this->Html->link('Delete', '#', array('id' => 'delete')); ?>
$(document).ready(function(){

    $('a[data-toggle=modal], button[data-toggle=modal]').click(function () {
        var data_id = '';

        if (typeof $(this).data('id') !== 'undefined'){
          data_id = $(this).data('id');
        }

        $('#delete').attr('href', 'link_to_delete_action'+data_id);

    })
});