如何使用引导日期选择器作为输入创建引导框提示

时间:2014-02-25 09:21:00

标签: twitter-bootstrap datepicker bootbox

我正在使用bootbox创建一个对话框。

bootbox.dialog({
    message: 'Datepicker input: <input id="date"></input>',
    title: "Custom label",
    buttons: {
        main: {
            label: "Save",
            className: "btn-primary",
            callback: function () {
                console.log("Hi " + $('#first_name').val());
            }
        }
    }
});

$("#date").datepicker(); //Not working

有关如何使用datepicker输入创建启动箱提示的任何想法?感谢

2 个答案:

答案 0 :(得分:7)

这个解决方法为我做了。欢迎任何更好的解决这个问题的方法。

function BootboxContent() {
    var frm_str = '<form id="some-form">'
        + '<div class="form-group">'
        + '<label for="date">Date</label>'
        + '<input id="date" class="date span2 form-control input-sm" size="16" placeholder="dd-mm-yy" type="text">'
        + '</div>'
        + '</form>';

    var object = $('<div/>').html(frm_str).contents();

    object.find('.date').datepicker({
        format: 'yyyy-mm-dd',
        autoclose: true
    }).on('changeDate', function (ev) {
        $(this).blur();
        $(this).datepicker('hide');
    });

    return object
}

//Show the datepicker in the bootbox
bootbox.dialog({
    message: BootboxContent,
    title: "Reschedule Rule",
    buttons: {
        main: {
            label: "OK",
            className: "btn-primary"
        }
    }
});

日期选择器将显示在模态叠加层后面。在datepicker.css中,将 z-index:99999!important 添加到 .datepicker

要根据引导箱对话框的位置调整datepicker输入下的日历,请添加以下样式:

.modal-open .datepicker {
    left: 52% !important; //Change it according to the position of your dialog
    top: 25% !important; //Change it according to the position of your dialog
}

答案 1 :(得分:5)

我对我正在进行的Ember项目提出了同样的问题。将我的解决方案应用于您的代码将如下所示:

bootbox.dialog({
    message: 'Datepicker input: <input id="date"></input>',
    title: 'Custom label',
    buttons: {
        main: {
            label: 'Save',
            className: 'btn-primary',
            callback() {
                console.log("Hi " + $('#first_name').val());
            }
        }
    }
}).datepicker();

只需将datepicker()添加到Bootbox呼叫的末尾即可。在我的项目上为我工作,希望它对你有用。