JQuery" Bootstrap Confirmation#34;插件不会在第二次点击时显示

时间:2015-04-01 22:57:58

标签: javascript c# jquery ajax twitter-bootstrap

当我第二次单击确认框时,当我将确认从MVC操作(重定向)更改为Ajax方法时,它停止工作。

也许原因是因为我不再刷新页面了。我该如何解决?重置BootStrap.Confirmation变量?

// Submit (Approve, Disaprove, SetPending, SetBilled)
$('#divSetStatus button').click(function (e) {
    e.preventDefault();

    // Check if there is an item selected
    var totalSelected = TableManaged.GetSelectedRowsTotal($('#datatableList'));
    if (totalSelected > 0) {

        // select button pressed
        var newStatus = e.target.value;
        var button = $('button[value=' + newStatus + ']');
        var selectedRows = TableManaged.GetSelectedRowsIds($('#datatableList')).toString();

        // initialize Bootstrap.Confirmation plugin
        button.confirmation({
            singleton: true,
            popout: true,
            onConfirm: function () {

                // Set Status
                $.ajax({
                    type: 'GET',
                    url: baseUrl + "TimeSheetManagement/SetStatus",
                    data: {
                        screen: $('#hdnScreen').val(),
                        status: newStatus,
                        ids: selectedRows
                    },
                    success: function (data) {
                        // do something
                    }
                });
            }
        });

        // Asks for a confirmation
        button.confirmation('show');

    }
});

1 个答案:

答案 0 :(得分:1)

我有类似的问题。它发生的原因是我使用过

$('#divSetStatus button').confirmation('show');

而不是

$(document).ready(function() { $('#divSetStatus button').confirmation(); });

button.confirmation()仅在单击按钮后才会显示确认对话框,但它也适用于后续点击。