Jade:在Bootstrap Modal中获取变量

时间:2015-02-24 08:51:53

标签: javascript jquery twitter-bootstrap express pug

我正在努力实现以下目标:

My Jade页面使用for - 循环生成项目列表。此列表中的每个项目都有一些信息,通过Jade-variables显示,还有一个删除按钮。此删除按钮应打开Bootstrap模式(弹出窗口)。我希望Modal包含有关列表中相应项目的一些信息。

这是我的Jade文件:

//Modal
.modal.fade#delPubModal(tabindex='-1', role='dialog')
        .modal-dialog
            .modal-content
                .modal-header
                    button.close(type='button', data-dismiss='modal')
                        span(aria-hidden='true')
                        span.sr-only
                            | Close
                    h4#delPubLabel.modal-title
                            | Delete //#{pub.title} should go here
                .modal-body
                    p#modalPubTitle
                            | Are you sure you want to delete //#{pub.title} should go here
                    p
                            | This can not be undone
                    form#delPubForm.form(method='post', action='deletepublication')
                .modal-footer
                    button#modalDelPub.btn.btn-danger(type='submit', form='delPubForm')
                            | Delete
                    button.btn.btn-succes(type='button', data-dismiss='modal')
                            | Close

//List of items
ul.media-list
    - var len = pubObject.length
    - for(var i = 0; i < len; i++)
        //Each pub has a title
        //The title should be passed on to the corresponding Modal
        - var pub = pubObject[i]
            .panel.panel-default
                .panel-body
                    li.media
                        .media-body
                            h4.media-heading#pubTitle
                                | #{pub.title}
                            button#delPub.btn.btn-danger(data-toggle='modal', data-target='#delPubModal')
                                span.glyphicon.glyphicon-trash
                                |   Delete

我怎样才能做到这一点?我一直在尝试使用JavaScript,但到目前为止还没有成功。

这是我的JavaScript代码:

$(document).ready( function() {
    $('#delPub').on('click', function() {
        var title = $(this).closest('h4').text();
        $('#delPubLabel').text(title);
    });
});

1 个答案:

答案 0 :(得分:0)

我使用以下JavaScript代码解决了它:

$(document).ready( function() {
    $('#delPub').on('click', function() {
        var title = $('#delPub').parent().find('h4').text();
        $('#delPubLabel').append(document.createTextNode(title));
    });
});