Bootstrap $('#myModal').модальный ('show') не работает

Я не уверен, почему, но все ладовые функции не работают со мной. Я проверил версию и загрузку, они в порядке.

Я продолжаю получать это сообщение об ошибке:

Uncaught TypeError: $(...).modal is not a function

для шкуры я уже нашел альтернативу. вместо:

$('#myModal').modal('hide');

я использовал этот :

$('#myModal .close').click();

и он отлично работает.

проблема теперь с шоу

$('#myModal').modal("show");

Я тоже пробовал оба!--8-->

$('#myModal').modal("toggle");

и:

$('#myModal').modal();

но, к сожалению, ни один из них не работает.

здесь html-код - при нажатии кнопки я сделаю некоторую проверку и обрабатывать данные json из веб - службы, если это удастся, то я хочу показать мой модальный-все работает, кроме шоу.

 <button type="button" id="creatNewAcount" class="btn btn-default" data-toggle="modal">Sign up</button>

если есть какая-либо альтернатива, я хотел бы знать это.

9 ответов


наиболее распространенной причиной таких проблем являются

1.Если вы определили библиотеку jquery несколько раз.

<script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

    <div class="modal fade" id="myModal" aria-hidden="true">
    ...
    ...
    </div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

библиотека начальной загрузки применяется к первой библиотеке jquery, но при перезагрузке библиотеки jquery исходная загрузка начальной загрузки теряется (модальная функция находится в начальной загрузке).

2.Пожалуйста, оберните свой код JavaScript внутри

$(document).ready(function(){});

3.Пожалуйста, проверьте, если id модального это же

как тот, который вы определили для компонента (также проверьте дублирование того же идентификатора ).


Я получил ту же проблему при работе с модальным всплывающим загрузчиком , я использовал Id и триггер click event для показа и скрытия модального всплывающего окна вместо $("#Id").модальные ('show') и $("#id").модальный ('скрыть'), `

    <button type="button" id="btnPurchaseClose" class="close" data dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span></button>
<a class="btn btn-default" id="btnOpenPurchasePopup" data-toggle="modal" data target="#newPurchasePopup">Select</a>
    $('#btnPurchaseClose').trigger('click');// for close popup

     $('#btnOpenPurchase').trigger('click');`// for open popup

моей основной причиной было то, что я забыл добавить # перед именем ID. Неубедительно, но верно.

С

$('scheduleModal').modal('show');

до

$('#scheduleModal').modal('show');

для вашей справки, кодовая последовательность, которая работает для меня

<script>
function scheduleRequest() {
        $('#scheduleModal').modal('show');
    }
</script>
<script src="<c:url value="/resources/bootstrap/js/bootstrap.min.js"/>">
</script>
<script
    src="<c:url value="/resources/plugins/fastclick/fastclick.min.js"/>">
</script>
<script
    src="<c:url value="/resources/plugins/slimScroll/jquery.slimscroll.min.js"/>">
</script>
<script
    src="<c:url value="/resources/plugins/datatables/jquery.dataTables.min.js"/>">  
</script>
<script
    src="<c:url value="/resources/plugins/datatables/dataTables.bootstrap.min.js"/>">
</script>
<script src="<c:url value="/resources/dist/js/demo.js"/>">
</script>

попробуйте это без paramater

$('#myModal').modal();

должно


вы уверены, что идентификатор модального является "myModal"? если нет, то вызов не сработает это.

также-просто от чтения Вашего сообщения - вы запускаете функцию / проверку с помощью этой кнопки

<button type="button" id="creatNewAcount" class="btn btn-default" data-toggle="modal">Sign up</button>

и потом, если все хорошо - вы хотите, чтобы вызвать модальное. - если это случай hte-то вы должны удалить переключатель из этой кнопки нажмите. Я предполагаю, что у вас есть обработчик событий, связанный с этим щелчком? вам нужно .модальный ("show") как часть этой функции. не переключается с этой кнопки. также - это идентификатор правильные "creatNewAcount" в противоположность этому слово "createNewAccount"

<button type="button" id="creatNewAcount" class="btn btn-default" >Sign up</button>

используйте объект для вызова...

<a href="#" onclick='$("#myModal").modal("show");'>Try This</a>

или если вы используете ajax, чтобы показать, что модальный после получения результата, это работа для меня...

$.ajax({ url: "YourUrl",
type: "POST", data: "x=1&y=2&z=3",
cache: false, success: function(result){
        // Your Function here
        $("#myModal").modal("show");
    }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script><script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.min.js"></script>

первый скрипт googleapis не работает сейчас дни используют эту вторую скрипту, данную jquery


jQuery lib должен быть загружен первым. В моем случае я сначала загружал bootstrap lib, также пробовал тег с целью и запускал триггер щелчка. Но главная проблема была - jquery должен быть загружен первым.


использовать .modal({show:true}) и .modal({show:false}) вместо ('show') и ('hide') ... кажется, это зависит от комбинации версий bootstrap/jquery. Надеюсь, это поможет.