删除并重新创建元素后,jQuery无法正常工作

时间:2018-11-28 13:03:52

标签: javascript jquery

我在jQuery中有这2个呼叫:

$('#horas').off('change').on('change',function(e){
    showPersonas($( "#horas" ).val());
});


$('#personas').off('change').on('change',function(e){
    alert("eh")
    showNinnos($( "#personas" ).val());
});

这是创建#personas的函数

function showPersonas(hora){


    if(document.getElementById("personas")!=null){
        document.getElementById("persons").parentNode.removeChild(document.getElementById("persons")); 
    }

    var numero=4;

    var cajadesplegable= document.getElementById("ninos");

    var html="<label>Adultos</label><div class='input-text'><select name='personas' id='personas'>";


    var personas=document.createElement("li");
    personas.setAttribute("id", "persons");

    for(i=0;i<10-numero;i++){
        html=html+"<option value='"+(i+1)+"'>"+(i+1)+"</option>";
    }
    html=html+"</select><div class='icon'></div></div>";
    personas.innerHTML=html;

    cajadesplegable.appendChild(personas);
}

我怎么了?

当我第一次生成“角色”时,jquery.off/on(change)可以正常工作。

但是当我更改#horas并调用“ showPersonas”时,会再次生成“ personas”,但是当我在#personas(personas.jquery.off/on(change))中进行更改时,jQuery的第二个调用不起作用。 / p>

为什么会这样?

0 个答案:

没有答案