Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno jQuery a kalendář

po úspěšném kopírování elementů, mi ovšem nefunguje zobrazování datetimepicker

http://pc.poradna.net/q/view/858652-jquery-a-kopir ovani-elementu

<label>Od: <input id="timepicker" name="dt_from_recu[]" value="{tag:recu[].dt_from_recu /}" type="text" /></label>
<label>Do: <input id="timepicker" name="dt_to_recu[]" value="{tag:recu[].dt_to_recu /}" type="text" /></label>

toto se pomocí tlačítka naopakuje, ovšem datetimepicker funguje pouze u těch prvních. Dle návodu jsem do js souboru, který vkládám jako odkaz ještě v hlavičce jsem přidal

$("#datepicker").datepicker({dateFormat: "dd.mm.yy",changeMonth: true,changeYear: true });
$('#timepicker').datetimepicker({timeFormat: 'hh:mm',dateFormat: "dd.mm.yy",separator: ' ',changeMonth: true,changeYear: true});

Dá se to nějak upravit? Jde mi o to, aby datetimepicker a datepicker fungoval i u přidaných položek

Předmět Autor Datum
Nemůžeš mít na stránce víc prvků se stejným ID. Proč na to radši nepoužíváš class? A pokud chceš, ab…
Wikan 28.07.2012 22:52
Wikan
znovu bindovat? takže nějaké onChange na clas a id jsem úplně zapomněl
tomas.kulhanek 28.07.2012 22:56
tomas.kulhanek
Je úplně jedno kde v kódu to bude, pokud se změny provádějí až po načtení DOM.
Wikan 28.07.2012 22:58
Wikan
našel jsem něco jako $('.bind').live('click',function(){}); ale toto mi také nezafungovalo
tomas.kulhanek 29.07.2012 09:00
tomas.kulhanek
No to ani nemohlo. Po přidání musíš znovu spustit nabindování datepickeru.
Wikan 29.07.2012 09:03
Wikan
no do té funkce jsem přidal $('.datepicker').datepicker({dateFormat: 'dd.mm.yy',changeMonth: true,…
tomas.kulhanek 29.07.2012 09:04
tomas.kulhanek
nakonec jsem to lehce poupravil a do document ready jsem přidal $("input[class='addRow']").click(f…
tomas.kulhanek 29.07.2012 11:09
tomas.kulhanek
Vyřešeno, teda alespoň se to tak chová až na datum, to neustále vkládá do prvního inputu (ale čas se… poslední
tomas.kulhanek 29.07.2012 14:36
tomas.kulhanek

nakonec jsem to lehce poupravil a do document ready jsem přidal

$("input[class='addRow']").click(function() {
$('.newRecuarray:first').clone().insertAfter('.new Recuarray:last');
$('.timepicker').datetimepicker({timeFormat: 'hh:mm',dateFormat: 'dd.mm.yy',separator: ' ',changeMonth: true,changeYear: true});
});

ovšem sice mi to přidá řádek, ale už nezafunguje timepicker

v error konzoli ve FF mi to zahlásí

Časová značka: 29.7.2012 11:06:47Chyba: ReferenceError: js is not definedZdrojový soubor: javascript:%20jsŘádek: 1

dále jsem již zkusil

$("input[class='addRow']").live('click',function() {
$('.newRecuarray:first').clone().insertAfter('.new Recuarray:last');
$('.timepicker').datetimepicker({timeFormat: 'hh:mm',dateFormat: 'dd.mm.yy',separator: ' ',changeMonth: true,changeYear: true});
});

demonstrace zde addRecu

Vyřešeno, teda alespoň se to tak chová až na datum, to neustále vkládá do prvního inputu (ale čas se vkládá do správného)

  $("input[class='addRow']").live('click',function() {
       $('.timepicker').datetimepicker("destroy");
       $('.newRecuarray:first').clone(false).insertAfter('.newRecuarray:last');
       $('.timepicker').datetimepicker({timeFormat: 'hh:mm',dateFormat: 'dd.mm.yy',separator: ' ',changeMonth: true,changeYear: true});
  });

Před klonováním se musí pickery zrušit a pak znova vytvořit

Zpět do poradny Odpovědět na původní otázku Nahoru