2010-06-07 4 views
1

J'ai utilisé le code suivant pour générer des cases dynamiques. Cela fonctionne pour la première fois et ajoute la case à cocher chk2 à la page, puis après le déclencheur pour le $ ('# newLink'). Click ne fonctionne pas. S'il vous plait, j'ai besoin de votre aide avec ceci.Génération JBuery Checkbox

<div id="chkBoxesDiv"> 
    <input type="checkbox" id="chk1" ></input> 
    <input id="answerText" type="text" size="30" ></input>&nbsp; 
    <input type="button" value="add new" id="newLink"/> 
</div> 

$(document).ready(function(){ 

$('#newLink').click(function (event){ 
    var i = 0; 
    //To count the children 
    $("#chkBoxesDiv").children().each(function(){ 
     var child = $(this); 
     if(child.is(":checkbox")){ 
      i++; 
     } 
    }); 

    //prevent action 
    event.preventDefault(); 

    //get textbox value to fill checkbox 
    var text = $("#answerText").val(); 
    alert(i); 

    //if text not empty do stuff 
    if(text != ""){ 
    //add label 
     $("#chk"+i).after("<label for=\"chk"+i+"\" id=\"lblchk"+i+"\">"+text+"</label>"); 


     $("#newLink").remove(); 
     $("#answerText").remove(); 
     $("#lblchk1").after("<br /><input type=\"checkbox\" id=\"chk"+(1+i)+"\" ></input><input type=\"text\" id=\"answerText\" size=\"30\" ></input>&nbsp;<input type=\"button\" value=\"add new\" id=\"newLink\"/>"); 
    } 
    }); 
}); 
+1

* lié * http://stackoverflow.com/questions/1359018/in-jquery-how-to-attach-events-to-dynamic-html-elements –

Répondre

2

Utilisez la commande .live jquery. Lorsque vous ajoutez des éléments sur la page, ils n'ont pas automatiquement d'événement de clic.

Vous devez les affecter

+0

Merci mon frère, ça a marché! – Hash