将jQuery引导模式与ajax加载的内容一起使用时,加载jQuery select2时出错

将jQuery引导模式与ajax加载的内容一起使用时,加载jQuery select2时出错,jquery,twitter-bootstrap,jquery-select2,bootstrap-modal,Jquery,Twitter Bootstrap,Jquery Select2,Bootstrap Modal,我正在用AJAX加载一个。结果模式工作得很好,但是加载的框没有初始化 我怎样才能修好它 这是我的密码: index.php(html): index.php(js): $(“#选择2#u内容”)。选择2({ allowClear:对 }); content.php: A. ... Z 问题 如果您正在执行$(“#select2_content”)。在初始页面加载时选择2({}),则#select2_content尚不存在。因此jQuery表达式找不到任何东西,因此永远不会初始化选择框。

我正在用AJAX加载一个。结果模式工作得很好,但是加载的框没有初始化

我怎样才能修好它

这是我的密码: index.php(html):


index.php(js):

$(“#选择2#u内容”)。选择2({
allowClear:对
}); 
content.php


A.
...
Z
问题 如果您正在执行
$(“#select2_content”)。在初始页面加载时选择2({})
,则
#select2_content
尚不存在。因此jQuery表达式找不到任何东西,因此永远不会初始化选择框。那它就再也不会跑了

解决 您可以执行以下任一操作:

  • 通过ajax加载完模式后,需要点击并运行一个函数来初始化任何新元素上的select2

  • 或者,您可以通过ajax调用中的
    标记引入函数,该标记将在DOM解析通过ajax引入的代码时执行。只需确保在末尾添加script标记,或者将javascript包装到一个documentready函数中,否则它在dom中仍然不存在

  • 选择1 返回以下代码:

    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="exampleModalLabel">AJAX Modal</h4>
      </div>
      <div class="modal-body">
        <select id="select2_content" class="form-control select2">
          <option value="A">A</option>
          <option value="B">B</option>
          <option value="C">C</option>
        </select>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
    
    <!DOCTYPE html>
    <html>
    
      <head>
        <title>Bootstrap Modal AJAX Demo</title>
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
    
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
        <script>
          $(function(){
            $('#ajax').on('loaded.bs.modal', function (e) {
              $("#select2_content").select2({
               allowClear: true
              });
            })
            .modal({
              show: false,
              remote: 'http://run.plnkr.co/plunks/bq15voV79PEz07TWrS8D/'
            });
          });
        </script>
      </head>
    
      <body>
    
        <btn data-target="#ajax" data-toggle="modal" class="btn btn-primary">
          Load Select
        </btn>
    
        <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
           <div class="modal-dialog">
              <div class="modal-content"></div>
           </div>
        </div>
    
      </body>
    
    </html>
    
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="exampleModalLabel">AJAX Modal</h4>
      </div>
      <div class="modal-body">
        <select id="select2_content" class="form-control select2">
          <option value="A">A</option>
          <option value="B">B</option>
          <option value="C">C</option>
        </select>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
    <script>
      $("#select2_content").select2({
       allowClear: true
      });
    </script>
    
    <!DOCTYPE html>
    <html>
    
      <head>
        <title>Bootstrap Modal AJAX Demo</title>
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
    
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
      </head>
    
      <body>
    
        <a href="http://run.plnkr.co/plunks/lpyMAERThlKeNieoX8GH/"
           data-target="#ajax" data-toggle="modal" class="btn btn-primary">
          Load Select
        </a>
    
        <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
           <div class="modal-dialog">
              <div class="modal-content"></div>
           </div>
        </div>
    
      </body>
    
    </html>
    
    
    &时代;
    AJAX模态
    A.
    B
    C
    接近
    
    对于ajax调用,您可以通过以下url访问它的运行版本:

    使用以下代码的AJAX调用:

    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="exampleModalLabel">AJAX Modal</h4>
      </div>
      <div class="modal-body">
        <select id="select2_content" class="form-control select2">
          <option value="A">A</option>
          <option value="B">B</option>
          <option value="C">C</option>
        </select>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
    
    <!DOCTYPE html>
    <html>
    
      <head>
        <title>Bootstrap Modal AJAX Demo</title>
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
    
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
        <script>
          $(function(){
            $('#ajax').on('loaded.bs.modal', function (e) {
              $("#select2_content").select2({
               allowClear: true
              });
            })
            .modal({
              show: false,
              remote: 'http://run.plnkr.co/plunks/bq15voV79PEz07TWrS8D/'
            });
          });
        </script>
      </head>
    
      <body>
    
        <btn data-target="#ajax" data-toggle="modal" class="btn btn-primary">
          Load Select
        </btn>
    
        <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
           <div class="modal-dialog">
              <div class="modal-content"></div>
           </div>
        </div>
    
      </body>
    
    </html>
    
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="exampleModalLabel">AJAX Modal</h4>
      </div>
      <div class="modal-body">
        <select id="select2_content" class="form-control select2">
          <option value="A">A</option>
          <option value="B">B</option>
          <option value="C">C</option>
        </select>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
    <script>
      $("#select2_content").select2({
       allowClear: true
      });
    </script>
    
    <!DOCTYPE html>
    <html>
    
      <head>
        <title>Bootstrap Modal AJAX Demo</title>
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
    
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
      </head>
    
      <body>
    
        <a href="http://run.plnkr.co/plunks/lpyMAERThlKeNieoX8GH/"
           data-target="#ajax" data-toggle="modal" class="btn btn-primary">
          Load Select
        </a>
    
        <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
           <div class="modal-dialog">
              <div class="modal-content"></div>
           </div>
        </div>
    
      </body>
    
    </html>
    
    
    引导模式AJAX演示
    $(函数(){
    $('#ajax').on('loaded.bs.modal',函数(e){
    $(“#选择2#u内容”)。选择2({
    allowClear:对
    });
    })
    .莫代尔({
    秀:假,,
    遥控器:'http://run.plnkr.co/plunks/bq15voV79PEz07TWrS8D/'
    });
    });
    负载选择
    
    选择2 返回以下代码:

    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="exampleModalLabel">AJAX Modal</h4>
      </div>
      <div class="modal-body">
        <select id="select2_content" class="form-control select2">
          <option value="A">A</option>
          <option value="B">B</option>
          <option value="C">C</option>
        </select>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
    
    <!DOCTYPE html>
    <html>
    
      <head>
        <title>Bootstrap Modal AJAX Demo</title>
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
    
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
        <script>
          $(function(){
            $('#ajax').on('loaded.bs.modal', function (e) {
              $("#select2_content").select2({
               allowClear: true
              });
            })
            .modal({
              show: false,
              remote: 'http://run.plnkr.co/plunks/bq15voV79PEz07TWrS8D/'
            });
          });
        </script>
      </head>
    
      <body>
    
        <btn data-target="#ajax" data-toggle="modal" class="btn btn-primary">
          Load Select
        </btn>
    
        <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
           <div class="modal-dialog">
              <div class="modal-content"></div>
           </div>
        </div>
    
      </body>
    
    </html>
    
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="exampleModalLabel">AJAX Modal</h4>
      </div>
      <div class="modal-body">
        <select id="select2_content" class="form-control select2">
          <option value="A">A</option>
          <option value="B">B</option>
          <option value="C">C</option>
        </select>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
    <script>
      $("#select2_content").select2({
       allowClear: true
      });
    </script>
    
    <!DOCTYPE html>
    <html>
    
      <head>
        <title>Bootstrap Modal AJAX Demo</title>
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
    
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
      </head>
    
      <body>
    
        <a href="http://run.plnkr.co/plunks/lpyMAERThlKeNieoX8GH/"
           data-target="#ajax" data-toggle="modal" class="btn btn-primary">
          Load Select
        </a>
    
        <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
           <div class="modal-dialog">
              <div class="modal-content"></div>
           </div>
        </div>
    
      </body>
    
    </html>
    
    
    &时代;
    AJAX模态
    A.
    B
    C
    接近
    $(“#选择2#u内容”)。选择2({
    allowClear:对
    });
    
    对于ajax调用,您可以通过以下url访问它的运行版本:

    使用以下代码的AJAX调用:

    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="exampleModalLabel">AJAX Modal</h4>
      </div>
      <div class="modal-body">
        <select id="select2_content" class="form-control select2">
          <option value="A">A</option>
          <option value="B">B</option>
          <option value="C">C</option>
        </select>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
    
    <!DOCTYPE html>
    <html>
    
      <head>
        <title>Bootstrap Modal AJAX Demo</title>
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
    
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
        <script>
          $(function(){
            $('#ajax').on('loaded.bs.modal', function (e) {
              $("#select2_content").select2({
               allowClear: true
              });
            })
            .modal({
              show: false,
              remote: 'http://run.plnkr.co/plunks/bq15voV79PEz07TWrS8D/'
            });
          });
        </script>
      </head>
    
      <body>
    
        <btn data-target="#ajax" data-toggle="modal" class="btn btn-primary">
          Load Select
        </btn>
    
        <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
           <div class="modal-dialog">
              <div class="modal-content"></div>
           </div>
        </div>
    
      </body>
    
    </html>
    
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title" id="exampleModalLabel">AJAX Modal</h4>
      </div>
      <div class="modal-body">
        <select id="select2_content" class="form-control select2">
          <option value="A">A</option>
          <option value="B">B</option>
          <option value="C">C</option>
        </select>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
    <script>
      $("#select2_content").select2({
       allowClear: true
      });
    </script>
    
    <!DOCTYPE html>
    <html>
    
      <head>
        <title>Bootstrap Modal AJAX Demo</title>
        <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
        <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
    
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
      </head>
    
      <body>
    
        <a href="http://run.plnkr.co/plunks/lpyMAERThlKeNieoX8GH/"
           data-target="#ajax" data-toggle="modal" class="btn btn-primary">
          Load Select
        </a>
    
        <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
           <div class="modal-dialog">
              <div class="modal-content"></div>
           </div>
        </div>
    
      </body>
    
    </html>
    
    
    引导模式AJAX演示