Select2 не работает в модале начальной загрузки - PullRequest
0 голосов
/ 19 октября 2019

Я прочитал этот Вопрос, но я не получил никакого решения оттуда.

Мой модальный HTML-код Bootstrap похож на ниже

<div class="modal fade" id="modelId" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">                
            <div class="modal-body">
                <div class="container-fluid">
                    <form role="form" action="task">
                        <div class="row">
                            <select class="js-example-basic-multiple" name="states[]" multiple="multiple">
                                <option value="example1">example1</option>
                                <option value="example2">example2</option>
                                <option value="example3">example3</option>
                                <option value="example4">example4</option>
                                <option value="example5">example5</option>
                                <option value="example6">example6</option>
                            </select>

Я добавил CSS &JS для select2, используя приведенный ниже код.

<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.11/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.11/js/select2.min.js"></script>

Я использую ниже JS Code на моей HTML-странице.

<script>
    $(document).ready(function() {
        $('.js-example-basic-multiple').select2({
            placeholder: 'Select an option'
        });
    });
</script>

Я использую ниже ссылку jQuery

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

Но я получаю вывод, как показано ниже

enter image description here

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Пожалуйста, попробуйте этот пример.

для получения более подробной информации нажмите здесь рабочий демо Нажмите здесь

HTML-код

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <link href="https://rawgit.com/select2/select2/master/dist/css/select2.min.css"/>
  <script src="https://rawgit.com/select2/select2/master/dist/js/select2.js"> </script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>

</head>
<body>

<div class="container">
  <h2>Modal Example</h2>
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">

      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
          <p>Some text in the modal.</p>
          <select class="jsSelect" name="states[]" multiple="multiple">
                                <option value="example1">example1</option>
                                <option value="example2">example2</option>
                                <option value="example3">example3</option>
                                <option value="example4">example4</option>
                                <option value="example5">example5</option>
                                </select>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>

    </div>
  </div>

                                </div>
</body>
</html>

Код запроса


    $(document).ready(function() {        
        $('#myModal').on('shown.bs.modal', function (e) {
            $('.jsSelect').select2({
            placeholder: 'Select an option'
            });
        });
    });

1 голос
/ 19 октября 2019

Попробуйте этот код при инициализации select2:

  obj.select2({
 dropdownParent:$(this).parent(), ///  HOLDER DIV - FOR Z-INDEX ISSUES   
...