IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Editor tabulek

Aktivity
Avatar
adas
Tvůrce
Avatar
adas:30.8.2014 16:14

Zdravím, potřeboval bych poradit.
Mám soubor script.js, který mám pro editaci tabulek.

1. problém je, že když např. vytvořím novou buňku, potřebuji volat funkci load(), bez které mi nová buňka nejde označit(pak ani editovat).
Tak se ptám, jestli by se nedala nahradit.

2. problém je, že při editaci, kdy se mi zobrazí dialog, se zobrazení dialogu pořád stupňuje.
Nevím, co s tím.
Předem děkuji.
A soubory: http://ulozto.cz/…-tabulek-zip

Editováno 30.8.2014 16:14
 
Odpovědět
30.8.2014 16:14
Avatar
Michal Žůrek - misaz:30.8.2014 16:30

a to je ten problém na který jsem tě upozorňoval v hodnocení. Každou buňku vytvoříš tak že prostě v jQuery zavoláš

.něco("<tag>tag vkládáš v stringu!"</tag>);

tímto si sice někde vytvoříš nový <tag> ale už s ním nemůžeš pracovat. Pokud bys použil

var newTag = document.createElement("tag");

tak můžeš zavolat

newTag.focus()

a to ti element označí. Jenže když ten tag naplácáš v stringu, na co pak budeš focus() volat?

Editováno 30.8.2014 16:31
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
30.8.2014 16:30
Avatar
Michal Žůrek - misaz:30.8.2014 16:32

počkej si až o tom vyjdou tutoriály a pak si je přečti.

 
Nahoru Odpovědět
30.8.2014 16:32
Avatar
adas
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
adas:30.8.2014 16:49

Ale jak provedu, aby se tag vytvořil u té značky?

Editováno 30.8.2014 16:49
 
Nahoru Odpovědět
30.8.2014 16:49
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na adas
Honza Bittner:30.8.2014 17:04

Na vkládání můžeš použít i .after(), případně .before(). ( http://goo.gl/72Nauu )

Označování nové buňky pak jen 'jednoduše' uděláš přes její pozici, ne?

Tedy například 3. buňka na 2. řádku => změň styl na .aktivni či tak.

Editováno 30.8.2014 17:05
Nahoru Odpovědět
30.8.2014 17:04
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
adas
Tvůrce
Avatar
Odpovídá na Honza Bittner
adas:30.8.2014 21:40

Zkouším to, co mi radíte, ale nefunguje mi to :(

 
Nahoru Odpovědět
30.8.2014 21:40
Avatar
adas
Tvůrce
Avatar
Odpovídá na Honza Bittner
adas:30.8.2014 22:15

To mám takto:

 function add_cell_r()
 {
     var newTag = document.createElement("td");
     $(".oznacenaBunka").after(newTag);
 }

 $("#add_cell_r").on("click", function()
 {
     add_cell_r();
 });

...

 $('td').on("click", function()
 {
     $('.oznacenaBunka').removeClass();
     $('.oznacenyRadek').removeClass();
     $(this).addClass('oznacenaBunka');
     var tr = $('.oznacenaBunka')[0].parentNode;
     $(tr).addClass('oznacenyRadek');
 });
Editováno 30.8.2014 22:16
 
Nahoru Odpovědět
30.8.2014 22:15
Avatar
Odpovídá na adas
Michal Žůrek - misaz:30.8.2014 22:22

to je lepší. Zkus

function add_cell_r()
{
    var newTag = document.createElement("td");
    $(".oznacenaBunka").after(newTag);
    newTag.click();
}
 
Nahoru Odpovědět
30.8.2014 22:22
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:30.8.2014 22:43

Á když ten element zkusíš uložit v defaultním JS, tak ještě ušetříš několik desítek znaků.

 
Nahoru Odpovědět
30.8.2014 22:43
Avatar
Odpovídá na 1Pupik1989
Michal Žůrek - misaz:30.8.2014 22:47

to po něm nemůžeš chtít, on to horko těžko splácal v jQuery. Nevím jak by překousal náhradu za takové before(). Pro nás to sice není nic těžkého ale pro něj je problém i bez jQuery vytvořit element.

 
Nahoru Odpovědět
30.8.2014 22:47
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:31.8.2014 0:03

Tak by měl asi začít s javascriptem of začátku. Je to naprosto minimalistický jazyk. Javu jsem potom zvládnul za měsíc. Pokud JS neumí, tak ať se ho začne učit. Ušetří mu to práci, kromě návodu na OOP zde na webu, který nikdo neopravil.

 
Nahoru Odpovědět
31.8.2014 0:03
Avatar
adas
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
adas:31.8.2014 11:32

Pořád nefunguje :(

 
Nahoru Odpovědět
31.8.2014 11:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.