A jQuery plugin wrapper around Bootstrap 4 modals, to create modals dynamically in JavaScript.
GitHub repository and documentation
$.showModal({title: "Hello World!", body: "A very simple modal dialog without buttons."})
$.showAlert({modalClass: "fade", title: "Hi", body: "Please press ok, if you like or dislike cookies."})
$.showConfirm({ title: "Please confirm", body: "Do you like cats?", textTrue: "Yes", textFalse: "No", onSubmit: function (result) { if (result) { $.showAlert({title: "Result: " + result, body: "You like cats."}) } else { $.showAlert({title: "Result: " + result, body: "You don't like cats."}) } }, onDispose: function () { console.log("The confirm dialog vanished") } })
$.showModal({ title: 'Complex Form', body: '<div class="form-group row">' + '<div class="col-3"><label for="text" class="col-form-label">Text</label></div>' + '<div class="col-9"><input type="text" class="form-control" id="text"/></div>' + '</div>' + '<div class="form-group row">' + '<div class="col-3"><label for="select" class="col-form-label">Select</label></div>' + '<div class="col-9"><select id="select" class="form-control">' + '<option value=""></option>' + '<option value="red">red</option><option value="green">green</option><option value="blue">blue</option>' + '</select></div>' + '</div>' + '<div class="form-group row">' + '<div class="col-3"><label for="textarea" class="col-form-label">Textarea</label></div>' + '<div class="col-9"><textarea id="textarea" rows="5" class="form-control"></textarea></div>' + '</div>', footer: '<button type="submit" class="btn btn-primary">OK</button>', onCreate: function (modal) { // create event handler for form submit and handle values $(modal.element).on("submit", "form", function (event) { event.preventDefault() var $form = $(modal.element).find("form") $.showAlert({title: "Result", body: "<b>text:</b> " + $form.find("#text").val() + "<br/>" + "<b>select:</b> " + $form.find("#select").val() + "<br/>" + "<b>textarea:</b> " + $form.find("#textarea").val() }) modal.hide() }) } })