Javascript 动态填充引导选择选择器:更改事件不起作用

Javascript 动态填充引导选择选择器:更改事件不起作用,javascript,jquery,twitter-bootstrap-3,Javascript,Jquery,Twitter Bootstrap 3,我有一个引导选择选择器,我必须在页面加载后创建并动态添加到页面的HTML中。问题是,当我这样做时,selectpicker的更改事件似乎没有被触发 这是我的JSFIDLE: 最终,下拉列表中的数据将通过JSON加载,但在示例中,我已将其内联添加 代码如下: //The jsFiddle has a much more complete list of data var lista_pueblos=[{"id":"2","nombre":"Madrid"},{"id":"4","nombre":"

我有一个引导选择选择器,我必须在页面加载后创建并动态添加到页面的HTML中。问题是,当我这样做时,selectpicker的更改事件似乎没有被触发

这是我的JSFIDLE:

最终,下拉列表中的数据将通过JSON加载,但在示例中,我已将其内联添加

代码如下:

//The jsFiddle has a much more complete list of data
var lista_pueblos=[{"id":"2","nombre":"Madrid"},{"id":"4","nombre":"Barcelona"},{"id":"5","nombre":"Heidelberg"},{"id":"6","nombre":"Dusseldorf"}];

var dropdown='<select id="localidad_origen_1" name="localidad_origen_1" class="form-control selectpicker input-sm localidad_origen" data-live-search="true" required><option value="" selected disabled>Seleccione localidad</option></select>';

$("#formulario").after(dropdown);


rellenaPueblos($("#localidad_origen_1"), -1);
$('.selectpicker').selectpicker();
$('.selectpicker').refresh();    



$("body").on('change',".localidad_origen, .localidad_destino", function(){
    alert("Meeept");   
   });


function rellenaPueblos(dd, pueblo_anterior) {
        var cadena="";
        var elProximoEsElBueno=false;
        for (var i = 0; i < lista_pueblos.length; i++) {
            if (elProximoEsElBueno == true) {
                cadena += "<option SELECTED value='" + lista_pueblos[i]["id"] + "'>" + lista_pueblos[i]["nombre"] + "</option>\n";
                elProximoEsElBueno = false;
                }
            else {
                cadena += "<option value='" + lista_pueblos[i]["id"] + "'>" + lista_pueblos[i]["nombre"] + "</option>\n";
                }
            if (lista_pueblos[i]["id"] == pueblo_anterior) {
                elProximoEsElBueno=true;
                }
            }
        //alert(dd.name);
        dd.append(cadena);
        }    
HTML非常简单:

<form id="formulario">
</form>
如您所见,下拉列表填充正确,但当我选择一个选项时,似乎不会触发更改事件。我已经读过关于事件委托的内容,但正如您所看到的,事件处理程序是附加到body的。利用事件冒泡

我还缺什么?我怀疑这一定是件非常愚蠢的事情……

改变这一点:

$('.selectpicker').refresh(); 
为此:

$('.selectpicker').selectpicker('refresh');
调用不存在的刷新方法会阻止执行剩余的代码

纠正小提琴: