Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno opět jQuery - zobrazení dialogu u více záznamů a opět ten datepicker

Opět se mi vyskytl problém s jQuery. Potřebuju udělat nejlépe dialog místo javascriptového window.open() . Ovšem potřeboval bych, aby mi to zobrazovalo daný obsah z dané stránky. (slo by například o 9 a u jiného řádku tabulky by nebylo 9, ale 10 . Toto se dá krásně udělat pomocí window.open(), ale co z toho vznikne se mi vubec nelibi (oproti dialogu). Včera jsem strávil poměrně hodně dlouho hledáním jak toto vyřešit, ale nic jsem nenašel.

Druhý problém je opět datepicker. Dříve jsem tu řešil problém klonování. Tento problém je již vyřešen. V naklonovaném elementu je jak datepicker, tak i timepicker... Timepicker funguje jak má, ale datepicker zlobí. V jakémkoliv naklonovaném datepickeru, když chci zvolit nějaký den, tak se mi ale vloží do toho originálního (prvního). Ovšem když reloadnu stránku (v PHP již následně mám vyřešeno že se mi zobrazí stejný počet naklonovaných elementů), tak datepicker funguje jak má.

$(document).ready(function () {
  $('.datepicker').datepicker();
  $('.datepicker_from').datepicker({
            onSelect: function( selectedDate ) {
                $( ".datepicker_to" ).datepicker( "option", "minDate", selectedDate );
            }
        });
  $('.datepicker_to').datepicker({
            onSelect: function( selectedDate ) {
                $( ".datepicker_from" ).datepicker( "option", "maxDate", selectedDate );
            }
        });
  $('.datetimepicker').datetimepicker();
  $('.timepicker').timepicker({timeFormat: 'hh:mm',showOn: "button"});
  
  $("input[class='addRow']").live('click',function() {
       $('.datepicker').datepicker("destroy");
       $('.timepicker').timepicker("destroy");
       $('.repeatdiv:first').clone(false).insertAfter('.repeatdiv:last');
       $('.datepicker').datepicker();
       $('.timepicker').timepicker({timeFormat: 'hh:mm',showOn: "button"});
  });
  $("input[class='delRow']").click(function() {
      if( $('.repeatdiv').length > 1){
        $('.repeatdiv:last').remove();
      }
  });
});

pro naklonování elementu, využívám část $("input[class='addRow']").live(....

Předmět Autor Datum
K první věci, nejsem si přímo jist, co potřebujete, ale měl by na to stačit jakýkoliv jQuery "lightb…
martin.developer 01.08.2012 20:20
martin.developer
test demo? nooo.. asi bude nutnej.. zde je addRecu co se týče první věci, podívám se na to
tomas.kulhanek 01.08.2012 20:27
tomas.kulhanek
Opravdu není dobrý nápad mít více prvků se stejným ID.
Wikan 01.08.2012 20:28
Wikan
nevím proč v tomto případě. Divný je, že timepicker funguje jak má. Nejsem blázen abych pak definova…
tomas.kulhanek 01.08.2012 20:30
tomas.kulhanek
A víš o tom, že ty klonovací funkce máš ve dvou souborech (jquery.js a jquery-ui-timepicker-cs.js) a…
Wikan 01.08.2012 20:41
Wikan
jquery-ui-timepicker-cs.js kde to tam je? koukám do toho jak puk a nikde nic
tomas.kulhanek 01.08.2012 20:47
tomas.kulhanek
I když zavoláte "destroy" pro datepicker, tak neodstraní ID u toho inputu. A to je potřeba odstranit…
martin.developer 01.08.2012 20:43
martin.developer
Děkuji, máte zlaté ručičky. poslední
tomas.kulhanek 01.08.2012 20:47
tomas.kulhanek

I když zavoláte "destroy" pro datepicker, tak neodstraní ID u toho inputu. A to je potřeba odstranit.

Například:

$("input[class='addRow']").live('click',function() {
       $('.datepicker').datepicker("destroy");
       $('.datepicker').attr("id", null);
       $('.timepicker').timepicker("destroy");
       $('.timepicker').attr("id", null);
       $('.repeatdiv:first').clone(false).insertAfter('.repeatdiv:last');
       $('.datepicker').datepicker();
       $('.timepicker').timepicker({timeFormat: 'hh:mm',showOn: "button"});
  });

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