C'est le balisage xhtml:
<div style="display: block;" id="regionLocalList">
<div class="itemRegionCountry">
<input type="checkbox" checked="checked" value="1" name="auteur[]" id="aucun">
<label for="tous">no actor</label>
</div>
<div class="itemRegionCountry">
<input type="checkbox" value="3" name="auteur[]" id="3">
<label>others</label>
</div>
<div class="itemRegionCountry">
<input type="checkbox" value="510" name="auteur[]" id="510">
<label for=" Nick">Nick</label>
</div>
<div class="itemRegionCountry">
<input type="checkbox" value="509" name="auteur[]" id="509">
<label for="Craver">Craver</label>
</div>
</div>
C'est le cocher/décocher le code jQuery
var othercheckboxes = $("#regionLocalList .itemRegionCountry input:not(#aucun)");
var aucun = $("#aucun");
$("#regionLocalInput").click(function(event) {
$("#regionLocalList").toggle();
})
$(aucun).click(function(event) {
$(aucun).attr('checked',true);
$(othercheckboxes).attr('checked',false);
});
$(othercheckboxes).click(function(event) {
if (this.checked){
$(aucun).attr('checked',false);
}
$(othercheckboxes).each(function (i) {
if ($(this).is(':checked')) {
$(aucun).attr('checked',false);
return false;
}
else
{
return $(aucun).attr('checked',true);
}
});
});
Après avoir ajouté la nouvelle entrée via une boîte de dialogue jQuery UI, je récupère la même xhtml ci-dessus avec une nouvelle entrée, après que je mets à jour le div #regionLocalList
avec html retourné avec ajax:
$("#regionLocalList").replaceWith(html);
La nouvelle entrée est apparu mais l'événement ne fonctionne pas
Pouvez-vous poster le code de vérification? –
Enfin, j'ai trouvé la solution, nous pouvons utiliser l'événement live() pour lier la nouvelle entrée, je vous invite à suivre ce fil http://stackoverflow.com/questions/770308/events-not-registering-after-replacewith/ 2838259 –