Autor | Zpráva | ||
---|---|---|---|
helpik.JPW Profil |
#1 · Zasláno: 4. 7. 2013, 15:20:53
Dobrý den,
chtěl bych si udělat seznam bodů (úkolů) k nějaké práci. Zkusil jsem MS Word, papír, Evernote, HTML checklist ... . U všech ale byl zásadní nedostatek v tom, že: A/ když splním sadů úkolů (odfajfknu), chtěl bych, aby se mi automaticky odfajfkla celá skupina [ x ] sada 1 [ x ] úkol 1 sady 1 [ x ] úkol 2 sady 1 [ x ] úkol 3 sady 1 B/ některé úkoly jsou součástí i jiných sad. Bylo by dobré, aby když například splním úkol 3 v sadě 2, aby se například odfajfkl i úkol 5 v sadě 4. A to i oboustranně. [ ] sada 2 [ ] úkol 1 sady 2 [ ] úkol 2 sady 2 [ x ] úkol 3 sady 2 [ ] sada 4 [ ] úkol 1 sady 4 [ ] úkol 2 sady 4 [ ] úkol 3 sady 4 [ ] úkol 4 sady 4 [ x ] úkol 5 sady 4 Snad si rozumíme. Napadlo mě, že toto by mohlo zvládat jQuery, ale nejsem v něm kovaný (jen naprosté základy) a nevím ani jak začít. Pokud víte o jiném řešení podmínek splněných úkolů (bodů), budu rád za inspiraci. Nebaví mě pořád tisknout sady úkolů a pak v jiné řadě odškrtávat to, co jsem udělal v jedné ze sad předešlých. Nebo jak toto řešíte Vy? Děkuji a příjemný den. |
||
Str4wberry Profil |
#2 · Zasláno: 4. 7. 2013, 15:25:17
A zajímá vás, jak toto úskalí vyřešit v JavaScriptu, nebo hledáte hotové řešení poznámek s danou funkcionalitou?
|
||
helpik.JPW Profil |
#3 · Zasláno: 5. 7. 2013, 12:51:33
Str4wberry:
Napíšu to takto: - pro nikoho to nedělám. Dělám to pro sebe a pro domácí použití. Když budete mít funkční řečení, mohu ho hned poupravit, napsat si ty úkoly a fungovat mnohem efektivněji rychleji. Na pochopení si pak vyhradit čas na dobu, kdy ho budu mít (to znamená třeba za měsíc, nebo 2) - JavaScript (jQuery): napadlo mě, že by to tak šlo, že by to bylo efektní i efektivní. Pokud to bude v něčem jiném (PHP, MySQL nebo v prostém HTML), tak mi to bude také téměř jedno (+- ovládám). Potřebuji být jen efektivnější v těch seznamech a když pochopím, jak ten kód funguje, budu také rád, pač si ho budu moci sám opravit. Děkuji. |
||
Str4wberry Profil |
#4 · Zasláno: 5. 7. 2013, 13:35:23
Tak řešení je zhruba následující:
1) Při kliknutí na hlavní checkbox jeho hodnotu nastavit všem podřízeným checkboxům .
2) Při kliknutí na libovolný podřízený checkbox projít všechny podřízené a hledat nějaký nezaškrtnutý* a podle toho nastavit hodnotu toho nadřazeného. (Když se najde alespoň jeden nezaškrtnutý => nadřazený bude nezaškrtnutý, jinak se zaškrtne.)
*) Nebo naopak zaškrtnutý. |
||
helpik.JPW Profil |
#5 · Zasláno: 5. 7. 2013, 17:27:03
Str4wberry:
Děkuji za reakci. Trochu mi pomohla si pár věcí uvědomit. Ale jak právě udělat to: - if (checked) v sadě 1, then označ určený checkbox id 2 v sadě 3 - ty sady (skupiny) budou zřejmě v: name="sada1" - jak označím rodičovský prvek sady - jak označím checkbox, který se má "odfajfknout", když jiný checkbox v jiné sadě jsem "odfajfknul"? - v případě zaškrtnutých všech dětí, zaškrtnout rodiče sady a vypsat "Máš hotovo, máš volno :)" Zatím jsem pokročil takto (http://tinker.io/7209f/3 - jsfidde hází 500). Připomínám, že jQuery příliš neovládám. Pro jistotu dávám ještě kód sem. $(function() { $('.checkbox').click(function() { alert($(this).val() + ' ' + (this.checked ? 'checked' : 'unchecked')); }); }); <fieldset> <legend>Sada 1 (zatím bez rodičovského checkboxu)</legend> <label for="sada_01_ukol_01"> <input type="checkbox" class="checkbox" id="sada_01_ukol_01" value="sada_01_ukol_01" name="sada01[]"> Úkol 1 (Sada 1) </label> <label for="sada_01_ukol_02"> <input type="checkbox" class="checkbox" id="sada_01_ukol_02" value="sada_01_ukol_02" name="sada01[]"> Úkol 2 (Sada 1) </label> </fieldset> <fieldset> <legend>Sada 2 (zatím bez rodičovského checkboxu)</legend> <label for="sada_02_ukol_01"> <input type="checkbox" class="checkbox" id="sada_02_ukol_01" value="sada_02_ukol_01" name="sada02[]"> Úkol 1 (Sada 2) </label> <label for="sada_02_ukol_02"> <input type="checkbox" class="checkbox" id="sada_02_ukol_02" value="sada_02_ukol_02" name="sada02[]"> Úkol 2 (Sada 2) </label> </fieldset> Snažím se a děkuji za rady (od všech) |
||
Str4wberry Profil |
#6 · Zasláno: 5. 7. 2013, 21:04:43
Tak dobře, tady máte hotové řešení. Pro zajímavost ve směsi jQuery a normálního JS. :–)
|
||
Časová prodleva: 3 dny
|
|||
helpik.JPW Profil |
#7 · Zasláno: 8. 7. 2013, 18:57:36
Str4wberry:
Skvělé :)! Moc Vám děkuji. Tento týden se ještě pokusím udělat i výše popisovanou fičuru - když si nastavím u jednoho checkboxu nějakou asociaci k jinému checkboxu v jiné sadě nebo té samé sadě, tak se mi po odškrtnutí jedné z nich tak druhá (třetí, ...) odškrtne také. Za to poslané řešení Vám ještě jednou děkuji. |
||
Časová prodleva: 11 let
|
0