XicoXperto Posted June 2, 2012 at 10:52 PM Report #459915 Posted June 2, 2012 at 10:52 PM (edited) Ola malta mais uma vez. A questão é a seguinte, para fazer uma copia de um form para edição faço: $( '#formASerCopiado' ).clone().attr('id', '#formASerCopiado' + "-copy").appendTo( $( '#formASerCopiado' ).parent() ); Ele copia integralmente, no entanto os datepickers, e os selects (transformados com jqTransform) simplesmente não funcionam. Os selects aparecem com tamanho "0px" no span de texto, e o div aparece como se não tivesse informação nenhuma: <div class="jqTransformSelectWrapper" style="z-index: 1; width: 45px; "> <div> <span style="width: 0px; "> Grau de Parentesco</span> <a href="#" class="jqTransformSelectOpen"></a> </div> <ul style="width: 43px; height: 0px; overflow: hidden; display: none; visibility: visible; "> <li style=""> <a href="#" index="0" class="selected"> Grau de Parentesco</a></li> <li><a href="#" index="1">Encarregado de Família</a></li> <li><a href="#" index="2">Pai/Mãe</a></li> <li><a href="#" index="3">Filho(a)</a></li> ... </ul> <select id="person0-parentType-copy" name="person[0][personal][parentType]" class="jqTransformHidden typed" style="" data-validation-engine="validate[required]"> <option value=""> Grau de Parentesco</option> <option value="1">Encarregado de Família</option> <option value="2">Pai/Mãe</option> <option value="3">Filho(a)</option> … </select> </div> Já os datepickers simplesmente não aparecem. Alguma ideia do que possa ser? Querem que faça post de mais código? Edited June 3, 2012 at 12:36 PM by brunoais geshi (para o html)
lsoares Posted December 5, 2012 at 01:58 PM Report #485860 Posted December 5, 2012 at 01:58 PM nunca fui muito fã de clonar coisas.. qual o objetivo? nem sei bem como funciona mas a verdade é que os ids devem ser únicos numa página... e por isso... ao clonar.. ficas com ids repetidos... e não sei como se comporta o jQuery e os plugins neste caso.. mas admitindo que não é o caso... há outras coisas que estão associadas.. nomeadamente dados e eventos.... que não são copiadas por omissão (à partida). confirma as flags que o clone() recebe.. http://api.jquery.com/clone/ mas volto a perguntar... qual o objetivo final? para perceber se tens mesmo de recorrer ao clone. --- Luís Soares jQuery - A Sua Biblioteca Javascript
yoda Posted December 6, 2012 at 04:05 PM Report #486024 Posted December 6, 2012 at 04:05 PM Depois de clonar tens de inicializar novamente certos componentes, ou, caso seja permitido pelo(s) plugin(s), usar a função live() para assegurar que ficam com os eventos que queres. @lsoares, clonar pode ser bastante útil dependendo do objectivo que lhe dás, não é o acto de clonar que objectivo em si. Eu por exemplo tenho uma classe .loading em CSS cujo markup vai sem display no site e que é clonado com uma mensagem particular para cada caso quando necessário. Assim que termina o loading, a classe e respectiva legenda desaparece, dando-me a possibilidade de ter vários "loading's" na mesma página sem grande esforço e sem que se intrometam uns com os outros. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
lsoares Posted December 9, 2012 at 04:53 PM Report #486377 Posted December 9, 2012 at 04:53 PM hmm reconheço que pode ser útil.. mas.... o live() está deprecated http://api.jquery.com/live/ --- Luís Soares jQuery - A Sua Biblioteca Javascript
XicoXperto Posted December 9, 2012 at 10:04 PM Author Report #486401 Posted December 9, 2012 at 10:04 PM Ola ola Antes de mais peço desculpa pela demora. Então passo a explicar a idea, pretendia-se: - registar os dados de uma familia, então a ideia era fazer tudo do lado do cliente, e quando tivesse terminado enviar os dados para o servidor - caso o utilizador pretende-se alterar algum elemento da familia já "registado" (isto é, do lado do cliente, pois ainda não estaria no servidor a esta altura), então o formulário original estaria hidden e fazia-se um clone para o utilizador alterar - se as alterações fossem para ser efectuadas, descartava-se o original e o clone passava a ser original No entanto acontece que a quantidade de dados era bastante grande, sendo que uma familia media tem 4 elementos e para cada elemento era necessário muita informação, o conselho do HappyHippyHippo em outro post (sobre outro problema) era não ter todos esses dados em memoria, mas sim guardar os dados de cada formulário. Sendo que isso resolveu o meu problema com o clone. Realmente não me lembrei mais deste problema, como esta alteração mudou varias coisas, esqueci me por completo vir dizer que já estava resolvido, e como foi resolvido. De qualquer forma, obrigado pela ajuda.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now