Autor Zpráva
Matts
Profil *
Ahoj,
mám tu takovou tabulku. A chtěla bych nějak zvýraznit aktuální den, tedy pokud je dnes 13.1. a v tabulce je 13.1. napsáno představení, aby se to nějak zvýraznilo (rámeček kolem buněk...Zkoušela jsem hledat, jak to napsat, ale mám v tom zmatek. Hlavně v tom, jak definovat tu podmínku...děkuji za všechny rady :-)...(Když to nepůjde, tak holt zvýraznění nebude..:-))
Str4wberry
Profil
Viz objekt Date, tím si sestavíš dnešní den ve shodném formátu, jako v té buňce a porovnáš.
Leo
Profil
Proč JavaScriptem. Nebudou se ty stránky generovat na serveru dynamicky například v PHP? Leo
Matts
Profil *
Str4wberry:No, a jak přesně to mám porovnat?
Takhle nějak?:-)
<script>
promenna = new Date(); // 
mesic = promenna.getMonth() + 1;
denVMesici = promenna.getDate();
if(denVMesici + ". " + mesic + "."== "prvni")   {background:black;}
</script>

Leo: Noo...jako nějaký php tam bude...ale taky tomu moc nerozumím...tak spíš okrajově :-)
LuBoss
Profil *
Tak tako asi nie
if(denVMesici + ". " + mesic + "."== "prvni") {background:black;}
porovnavas ci napr. "11. 12 ." == "prvni", to nebude nikdy pravda navyse nemozes potom len tak napisat {background:black;}, background:black nie je prikaz javascriptu.
Ako tu uz Leo zmienil bolo by to lepsie urobit v php, pretoze ked to spravis v javascripte a niekto bude mat na svojom pocitaci nastaveny zly datum, tak mu zvyrazni aj zly datum v tabulke. Keby si to robil cez php riadilo by sa to podla datumu na servery, kde mas ulozene stranky.
Leo
Profil
"Ako tu uz Leo zmienil bolo by to lepsie urobit v php, pretoze ked to spravis v javascripte a niekto bude mat na svojom pocitaci nastaveny zly datum, tak mu zvyrazni aj zly datum v tabulke. Keby si to robil cez php riadilo by sa to podla datumu na servery, kde mas ulozene stranky."

No to neni hlavní důvod. Jde spíš o to, že PHP už ví, jaké je datum, když ho vypisuje (a předtím asi tahá z databáze), takže může podle něj vypsat css styl, je nesmysl to znova a komplikovaně zjišťovat v JS. Leo
Str4wberry
Profil
Matts: „Takhle nějak?:-)

Takhle úplně ne. Ale jestli se ta stránka dynamicky generuje, tak bych do toho skutečně JavaScript netahal.
Matts
Profil *
aha,no já říkám, že tomu nerozumím...:-(
můžete mi prosím tedy napsat nějaký postup(nebo rovnou kousek kódu)? Spíš na ten javascript.....:-)
Co se týče php, myslela jsem, že ho budu používat pouze pro include stránek...
Leo
Profil
No ono to není tak ajnfach, protože musíte načíst aktuální měsíc, ten je ve značce h1 bez přímého vztahu k tabulce, pak projít datumy v první buňce td, atd. Jinak řečeno - pokud se změní struktura html, musíte javascript, který to má ošetřit překopat. Leo
LuBoss
Profil *
skus sa inspirovat tymto:
<html>
<head>
<style>
td {
    border-style: solid;
}
.z {
    background-color: red;
}
</style>
</head>
<body>
<table>
<script>
var data = [
    {"date": "11. 12.", "action": "akcia1"},
    {"date": "12. 12.", "action": "akcia1"},
    {"date": "13. 12.", "action": "akcia1"},
    {"date": "14. 12.", "action": "akcia1"}
]
var date = new Date();
var month = date.getMonth() + 1;
var day = date.getDate();
var a = day + ". " + month + ".";
for(var i = 0; i < data.length; i++) {
    if(data[i].date == a) {
        document.write("<tr><td class='z'>");
    } else {
        document.write("<tr><td>");
    }
    document.write(data[i].date + "</td><td>" + data[i].action +"</td></tr>");
}
</script>
<table>
</body>
</html>
Matts
Profil *
Leo: To mě kompletně odradilo :-)...
LuBoss: Děkuji moc, to je super, hrozně jsi mi pomohl :-)...pořádně si to prostuduju a upravím...ale vypadá to, že to bude fungovat, jen to zatím bojkotuje FF,ale snad si s tím už poradím :-)
Matts
Profil *
ehm...tak na to koukám ale nevím,jak to rozchodit v té mozille a jak tam připsat další sloupce, za ty dva řádky...je to se mnou hrozný :-( :-)
Mistr
Profil
Matts:
jak tam připsat další sloupce, za ty dva řádky
Jak tam připsat další sloupce za ty dva řádky?
Matts
Profil *
ehm, jsem se přepsala...potřebuju čtyři sloupce a tam jsou jen dva :-)
Mistr
Profil
Matts:
Kód
var data = [
    {"date": "11. 12.", "action": "akcia1"},
    {"date": "12. 12.", "action": "akcia1"},
    {"date": "13. 12.", "action": "akcia1"},
    {"date": "14. 12.", "action": "akcia1"}
]

uprav na
var data = [
    {"date": "11. 12.", "action": "akcia1", "treti": "akcia2", "ctvrty": "akcia3"},
    {"date": "12. 12.", "action": "akcia1", "treti": "akcia2", "ctvrty": "akcia3"},
    {"date": "13. 12.", "action": "akcia1", "treti": "akcia2", "ctvrty": "akcia3"},
    {"date": "14. 12.", "action": "akcia1", "treti": "akcia2", "ctvrty": "akcia3"}
]


A dále si kód
document.write(data[i].date + "</td><td>" + data[i].action +"</td></tr>");

přepiš na
document.write(data[i].date + "</td><td>" + data[i].action +"</td></tr>" + data[i].treti +"</td></tr>" + data[i].ctvrty +"</td></tr>");

Snad to bude fungovat.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: