modal ejemplos descargar como bootstrap jquery twitter-bootstrap twitter-bootstrap-3 jquery-ui-datepicker

ejemplos - jquery ui download



Implementando jQuery DatePicker en Bootstrap modal (4)

Creado jsfiddle para mi problema http://jsfiddle.net/sudiptabanerjee/93eTU/

En la ventana modal, el problema está en los combos Cambiar mes y Cambiar año.

a) IE 11: todo está funcionando como se esperaba b) Versión de Chrome 31, En el combo de mes, seleccione pieles de arranque de moda. c) El menú desplegable de Firefox v26, mes y año no funciona.

Por favor ayuda.

HTML

<!-- Button trigger modal --> <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">Launch demo modal</button> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title" id="myModalLabel">Modal title</h4> </div> <div class="modal-body"> <div class="col-md-12"> <div class="row"> <label for="idTourDateDetails">Tour Start Date:</label> <div class="form-group"> <div class="input-group"> <input type="text" name="idTourDateDetails" id="idTourDateDetails" readonly="readonly" class="form-control clsDatePicker"> <span class="input-group-addon"><i id="calIconTourDateDetails" class="glyphicon glyphicon-th"></i></span> </div> </div>Alt Field: <input type="text" name="idTourDateDetailsHidden" id="idTourDateDetailsHidden"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> <!-- /.modal-content --> </div> <!-- /.modal-dialog --> </div> <!-- /.modal -->

CSS

.clsDatePicker { z-index: 100000; }

JS

$(''#idTourDateDetails'').datepicker({ dateFormat: ''dd-mm-yy'', minDate: ''+5d'', changeMonth: true, changeYear: true, altField: "#idTourDateDetailsHidden", altFormat: "yy-mm-dd" });


Esto se debe a que el modal impone el enfoque en sí mismo. Aquí hay una solución para esto como se menciona here . Agregue la secuencia de comandos siguiente a su archivo js. Eso es.

Demo de trabajo

jQuery

// Since confModal is essentially a nested modal it''s enforceFocus method // must be no-op''d or the following error results // "Uncaught RangeError: Maximum call stack size exceeded" // But then when the nested modal is hidden we reset modal.enforceFocus var enforceModalFocusFn = $.fn.modal.Constructor.prototype.enforceFocus; $.fn.modal.Constructor.prototype.enforceFocus = function() {}; $confModal.on(''hidden'', function() { $.fn.modal.Constructor.prototype.enforceFocus = enforceModalFocusFn; }); $confModal.modal({ backdrop : false });


MÁS FÁCIL ... solo necesita comentar esta línea en su boostrap.js that.enforceFocus ().


Partiendo de la respuesta de Surjith, agregué un bloque try / catch para resolver una excepción de ReferenceError para que confModal no esté definido.

Coffeescript:

enforceModalFocusFn = $.fn.modal.Constructor::enforceFocus $.fn.modal.Constructor::enforceFocus = -> try $confModal.on "hidden", -> $.fn.modal.Constructor::enforceFocus = enforceModalFocusFn return $confModal.modal backdrop: false catch error if error.name != ''ReferenceError'' throw error


Versión jQuery de la respuesta @crftr

var enforceModalFocusFn = $.fn.modal.Constructor.prototype.enforceFocus; $.fn.modal.Constructor.prototype.enforceFocus = function() {}; try{ $confModal.on(''hidden'', function() { $.fn.modal.Constructor.prototype.enforceFocus = enforceModalFocusFn; }); $confModal.modal({ backdrop : false }); } catch (error) { if(error.name != ''ReferenceError'') throw error; }