Ho creato questa funzione click per eseguire una determinata modifica sul db se selezionato o meno un checkbox:
Codice: Seleziona tutto
$("#check_flag").click(function(){
if( $(this).find('input[type="checkbox"]').is(':checked') ){
$(this).find('input[type=\"checkbox\"]').attr('checked', false);
$.post("flag_not_pred.php", { img: $("#predefinito").val() } ); //#predefinito è l'id del checkbox
} else {
$(this).find('input[type=\"checkbox\"]').attr('checked', true);
$.post("flag_pred.php", { img: $("#predefinito").val() } );
}
});
Il problema, secondo me, è che il div "check_flag" che contiene il checkbox non è ancora stato creato.
Mi spiego meglio:
nella pagina di inserimento c'è sia questa funzione che un'altra chiamata per l'upload dei file, una volta che il file è stato inviato al server viene creato il div con il nome dell'immagine ed un checkbox ed un altro div che serve per l'eliminazione di quel file.
Codice: Seleziona tutto
if(response==="success"){
$('<li></li>').appendTo('#files').html('<img src="Img/thumb.php?im=http://192.168.0.2/'+file+'&maxsize=150" height=\"110\" /><br />'+file+'<br /><strong><div id="check_flag"><input style="line-height:20pt" type="checkbox" id="predefinito" />Predefinito </div><a style="cursor:pointer"><img style="vertical-align:bottom" src="Img/icon/elimina32.png" width="16" height="16" />Elimina</a></strong>').addClass('success');
var nuovo_id = $("#nuovo_id").val();
var datastr = 'nuovo_id='+nuovo_id+'&percorso=' +file;
setTimeout("invio('"+ datastr +"')",200);
} else{
status.html(response);
$('<li></li>').appendTo('#files').text(file).addClass('error');
}
Oppure sbaglio da un altra parte?
Grazie ciao