Javascript 在动态加载的外部html组件上应用select2

Javascript 在动态加载的外部html组件上应用select2,javascript,jquery,ajax,jquery-select2,Javascript,Jquery,Ajax,Jquery Select2,加载页面时,它会在其中加载另一个html页面,html页面包含select,我想在其上应用select2 非常基本的页面包含 <select class="selectAddItem" id="selectAddItem" name="selectAddItem" style="width: 150px;" class="required"> <option value="">--- Please Select---</option> <opti

加载页面时,它会在其中加载另一个html页面,html页面包含select,我想在其上应用select2

非常基本的页面包含

<select class="selectAddItem" id="selectAddItem" name="selectAddItem" style="width: 150px;" class="required">
  <option value="">--- Please Select---</option>
  <option value="1">Movie</option>
  <option value="2">Actor or Actress</option>
</select>
<div class="well" id="well"></div>
showAddMovie将加载包含select的html页面,我想在加载的页面上应用select 2。外部html包含如下内容

<select class="js-example-basic-multiple" multiple="multiple">
  <option value="AL">Alabama</option>
  <option value="Am">Amalapuram</option>
  <option value="An">Anakapalli</option>
  <option value="Ak">Akkayapalem</option>
  <option value="WY">Wyoming</option>
</select>

阿拉巴马州
阿马拉普拉姆
阿纳卡帕利
阿克卡亚帕勒姆
怀俄明州

但是,select2不适用于我的代码。有什么想法吗?谢谢。

这个调用是一个ajax调用
$(“#嗯”).load(“/showAddMovie”)

您需要在第二个参数中指定回调函数,以便在加载数据后,在回调函数中进行进一步处理。
$(“#well”).load(“/showAddMovie”),函数(responseText、statusTxt、xhr){
如果(statusTxt==“成功”)
log(“加载成功!”);
如果(statusTxt==“错误”)
日志(“错误:+xhr.status+”:“+xhr.statusText”);
});


同样,正如
MrCode
所建议的那样,
$.getScript
也是异步调用,您可能需要使用
$。当
组合异步调用并在解决所有调用后进行处理时

.load
.getScript
都是异步的,在调用
之前,当两者都完成时需要回调。select2()
。我会使用
.load
的success函数,删除select2的延迟加载,并将其作为标准include直接放在页面中。
<select class="js-example-basic-multiple" multiple="multiple">
  <option value="AL">Alabama</option>
  <option value="Am">Amalapuram</option>
  <option value="An">Anakapalli</option>
  <option value="Ak">Akkayapalem</option>
  <option value="WY">Wyoming</option>
</select>