0

滑らかなグリッドの列に編集と削除のリンクがあります。編集ボタンをクリックすると、行の詳細を含むブートストラップ ポップオーバーが必要になります。

ポップオーバーをレンダリングできる範囲で成功しましたが、テーブルの後ろに隠れているように見えます。を設定してみましたz-indexがダメでした。以下のコード:

    var popoverReference = $(".growthGridActions_edit").popover({
        'title': 'Edit Record',
        'html' : true,
        'placement' : 'left',
        'template': popOverTemplate
    });
    popoverReference.click(function(e) {
        var me = $(this), rowid = me.attr('rowId');

        var editGrowthRecordView = new WTG.view.GrowthEditView({
            template:$("#GROWTH-RECORD-EDIT").html(),
            model: new WTG.Model(growthGridRef.getDataItem(rowid))
        });

        editGrowthRecordView.render();

        $("#"+me.attr('id')).attr('data-content', editGrowthRecordView.$el.html());
        var popover = $("#"+me.attr('id')).data('popover');
        popover.setContent();
        popover.$tip.addClass(popover.options.placement);
    })

助けてください

4

2 に答える 2

1

私は似たようなことをしています。滑らかなグリッドの行をダブルクリックすると、ブートストラップ モーダルが表示されます。モーダルには、AJAX を使用して取得した行の詳細 (さらにいくつかの情報) が表示されます。これは問題なく動作し、z-index に問題はありません。

私たちのアプローチは少し違いすぎるかもしれませんが、以下のコードがお役に立てば幸いです。

ブートストラップモーダル

<div id="user-details-modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="width: 650px">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3 id="myModalLabel">User View</h3>
    </div>
    <div class="modal-body">
        <form class="form-horizontal" action="/user/update" method="POST">
            <input type="hidden" id="userId" name="userId"/>
            <div class="control-group">
                <label class="control-label" for="firstName">First Name</label>
                <div class="controls">
                    <div class="input-prepend">
                        <span class="add-on"><i class="icon-user"></i></span>
                        <input class="input-xlarge" type="text" required id="firstName" name="firstName" placeholder="First Name">
                    </div>
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="lastName">Last Name</label>
                <div class="controls">
                    <div class="input-prepend">
                        <span class="add-on"><i class="icon-user"></i></span>
                        <input class="input-xlarge" type="text" required id="lastName" name="lastName" placeholder="Last Name">
                    </div>

                </div>
            </div>

... more fields

    <div class="modal-footer">
        <button type="submit" class="btn btn-info">Save Changes</button>
        <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
    </div>
</div>

スリックグリッドのセットアップ

setupGrid:(onDblClick)->
    grid = new Slick.Grid(@gridId, dataView, @columns, options)
    grid.setSelectionModel(new Slick.RowSelectionModel({ selectActiveRow: true }))
    grid.onDblClick.subscribe((e, args)->
        onDblClick(dataView.getItem(args.row).id);
    )
    $(window).resize(->
        grid.resizeCanvas()
    )

モーダルの表示

onDblClick = (id) =>
    $userDetails = $('#user-details-modal')
    $.get('/user/' + id + '/details')
    .success((results)->
        $userDetails.find('#userId').val(results.id)
        $userDetails.find('#firstName').val(results.FirstName)
        $userDetails.find('#lastName').val(results.LastName)
        $userDetails.find('#userName').val(results.UserName)
        $userDetails.find('#email').val(results.Email)
        $userDetails.find('#password').val(results.Password)
        $userDetails.modal()
    )
于 2013-03-11T11:14:29.587 に答える