Autor | Zpráva | ||
---|---|---|---|
kujeba Profil |
#1 · Zasláno: 15. 4. 2010, 10:34:51 · Upravil/a: kujeba
Mám javascript, ktery mi překresluje checkboxy a selectboxy (kvuli jednotné grafice ve všech prohlížečích).
Pro multiupload obrázků používám upravený swfupload, který mi uloží obrázek na server, pomocí ajaxu ho zpracuje (vytvoří náhledy apod...) a následně přidá do html kódu blok s náhledem uploadnutého obrázku a s formulářovými prvky (checkboxy a selectboxy). Bohužel, na takto přidaný kód už není aplikován javascript, který překresluje checkboxy a selectboxy. Můžete mi, prosím, poradit jak tento problém vyřešit? funkce, ktera vykreslí blok s náhledem a formulářovými prvky: hodnota "filename" je název uploadnutého obrázku function addFileToList(filename){ var dotPosition = parseInt(filename.indexOf('.'), 10)+parseInt("1", 10); var suffix = filename.substr(dotPosition); var name = $('.FileToList:last').attr('id'); var description; var supps; var c = 0; var i; if(name){ c = name.substring(3); i = parseInt(c,10)+parseInt("1",10); } if(i){ name = 'filename['+i+']'; description = 'description['+i+']'; }else{ i = '0'; name = 'filename[0]'; description = 'description[0]'; } switch(suffix){ case 'jpg': case 'png': case 'gif': var d; var text1 = $('#text1').val(); var text2 = $('#text2').val(); var subtext; var id_position; var show_description_text = $('#show_description_text').val(); var count_position = $('#count_position').val(); supps = '<div class="supps">\ <p>'+text1+'</p>'; for(d = 1; d <= count_position; d++){ subtext = $('#name_position'+d).val(); id_position = $('#id_position'+d).val(); supps = supps + '<div class="checkbox-wrap">\ <input type="radio" id="supp'+i+d+'" name="id_position['+i+']" value="'+id_position+'" />\ </div>\ <label for="supp'+i+d+'">'+subtext+'</label>\ '; } supps = supps + '</div>'; supps = supps + '<div class="supps">\ <p>'+text2+'</p>\ <div class="checkbox-wrap">\ <input type="checkbox" id="supp'+d+'" name="show_description" />\ </div>\ <label for="supp'+d+'">'+show_description_text+'</label>\ </div>'; break; default: break; } var data = '<div class="FileToList" id="ftl'+i+'">\ <div>\ <img src="/photo/small/'+filename+'" alt="" />\ <textarea name="'+description+'" class="mceSimple" />\ <span class="FileOutList" id="fol'+i+'"><img src="/aktualizace/img/cancelbutton.gif" alt="Delete"/></span>\ </div>\ '+supps+'\ <div class="clear"></div>\ </div>'; var hiddenData = '<input id="fhl'+i+'" type="hidden" name="'+name+'" value="'+filename+'" />'; $('#filelist').append(data); $('#hiddenInput').append(hiddenData); } |
||
Keeehi Profil |
#2 · Zasláno: 15. 4. 2010, 22:33:14
kujeba:
no nejspíš to bude proto, že ten script po překreslení formulářových prvků už proběhl a tyto byly vytvořeny až potom -> znovu spustit script na překreslení těch prvků |
||
kujeba Profil |
#3 · Zasláno: 16. 4. 2010, 08:21:57
Keeehi:
Nojo, jenže v tom je problém. Tohle já neumím a ani pomocí googlu jsem nenašel způsob, jak znovu spustit patričný script. Poradí někdo? |
||
František Profil * |
#4 · Zasláno: 16. 4. 2010, 11:41:13
Mám podobný problém. Nahraju ajaxem stránku a v té stránce mám dalši ajax (vč. js skriptu) a nefunguje to. Když dám "skript" na původní stránku, tak ten vložený ajax v ajaxu funguje... Což ale není možné, protože původní stránka se nijak nedoví, jaký ajax by měla načíst...
|
||
Časová prodleva: 14 let
|
0