Autor Zpráva
Johnny
Profil *
zdar,potřebuju pomoct s jednim problémem,chci vytvořit řádkovej seznam,a za každou položkou zaškrtávací čtvereček,s tim,že dole bude nějaký tlačítko,co nechá vytisknou zaškrtaný řádky
Fred
Profil
javascript - změna třídy na zaškrtnutí

Třeba
Např. <input type="checkbox" onclick="if(this.checked){this.className='print'}else{this.className=' noprint'}" />

Ve stylu print
.print{display:block}
.noprint{display:none}

vložíš ho takhle
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
habendorf
Profil
Fred: Řekl bych, že takhle možná budeš skrývat/odkrývat checkboxy a ne li. A nevím kolik toho má být, ale nezasloužilo by si to cyklus? A onclick se tam IMHO taky moc nehodí.

Myšlenka: li budou mít id ve tvaru třeba aa1, aa2, ..., aan. Checkboxy budou mít id ve tvaru a1, a2, ... , an. Checkboxy nebudou mít žádnou událost. Na onclick na "vytisknout pouze vybrané" projedu cyklem všechny id checkboxů a dle jejich checked změním vždy class u prvku s id = "a" + id checkboxu, nakonec to pošlu na print. To by asi fungovalo.
Johnny
Profil *
jj,super,mohl bys mi prosím tě napsat orientačně jeden nebo dva řádky s tim tlačítkem,fakt diky
Fred
Profil
habendorf
Řekl bych, že takhle možná budeš skrývat/odkrývat checkboxy :-) Jejda, něco tady bastlím jiného a píšu blbosti ;-)


Tak jinak ;-)

<script type="text/javascript">
function sbl(el,cls){
var sbl;
if(el.previousSibling.nodeType!=3){sbl=el.previousSibling;}//gecko whitespace help
else{sbl=el.previousSibling.previousSibling;}
sbl.className=cls
}
function prevClass(el){
var oblast=document.getElementById('oblast')
var inp=oblast.getElementsByTagName('input')
var p=oblast.getElementsByTagName('p')
for(var j=0;j<p.length;j++){
p[j].className='noprint'
}
for(var i=0;i<inp.length;i++){
inp[i].onclick=function(){
if(this.checked){sbl(this,'print')}
else{sbl(this,'noprint')}
}
}
}

window.onload=prevClass
</script>
</head>
<body>
<div id="oblast">
<p>1</p><input type="checkbox" />
<p>2</p><input type="checkbox" />
<p>3</p><input type="checkbox" />
<p>4</p><input type="checkbox" />
<p>5</p><input type="checkbox" />
</div>
</body>
</html>
Fred
Profil
Tady jsem ti to uploadoval http://xy.wz.cz/prevSibling.htm
Něco si zaškrtej a dej tiskový náhled.
habendorf Dík za opravu, nějak moc spěchám.
habendorf
Profil
Já jsem udělal takovou odlehčenější verzi: http://habendorf.plavacek.net/pokusy/tisk-vybranych.html
Johnny
Profil *
ze spěcháš nevadí,hlavně že něco děláš :-)
btw: tisíceré díky
Johnny
Profil *
jj,obě verze by byly použitelný,ale přiklonim se k tý Fredový.

Doufám,že vás můžu "využít" pro jeden podobnej problém,nevim jestli by to šlo obyčejně,nebo jestli je to zapotřebí slložitějš,ale jedná se o něco podobnýho,akorát,že se vytiskne obsah textovýho pole,tak aby se zachovala jeho pozice na stránce (stačí pozice v řádku)

btw:co se týče tisku HTML tak sem v podstatě lama,takže nevim co bych si bez vás počal,dík.
habendorf
Profil
Jo, Fredovo řešení je určitě lepší (univerzálnější). Já to psal narychlo, je to fakt jen taková lite-verze. Vůbec nepracuje s tiskovým stylem, navíc jsem si to značně usnadnil tím, že mám ten cyklus natvrdo, zatímco Fred si prvně ty elementy spočítá. Ale zase (pokud JS moc neovládáš) z mé verze snáz pochopíš princip.

K Fredově verzi: řeč byla o seznamu, ne o odstavcích, ale to je snadno řešitelné. A ještě jedna věc - nebylo by lehčí řešit jen noprint a na print se vykašlat :o) ?

že se vytiskne obsah textovýho pole
Textové pole je co? input type="text"? textarea?
Johnny
Profil *
jo,ty odstavce se zatim neúspěšně snažim odstranit,ale když to nepude,tak mezi ne dam caru "<hr>"
textovy pole?-
" Obyčejné textové pole:
<input type="text" name="jmeno"> nebo <input name="jmeno"> "

takhle je to tam popsany
Johnny
Profil *
beru zpět,ta čára by ve výběru dělala bordel
Fred
Profil
Tady to máš s tím seznamem http://xy.wz.cz/parentNode.htm
Johnny
Profil
prfektni,super,delikatesni,......
mockrát díky.
Johnny
Profil
hele,nevite jestli to de nastavit,že by se při uložení stránky uložil jenom ten výběr?
Fred
Profil
No to už je zase něco jiného, gecko ukládá normálně aktuální zdroj tak jak ho generuje DOM, kdežto IE a Opera ne, ty ukládají zdroj původní, musel by jsi ten element úplně odstranit a celou stránku vygenerovat přes document.write, nebo aspoň nevím o jiném způsobu. Pokud ta stránka má velký objem tak to nedoporučuji, tady to máš http://xy.wz.cz/pareNode-remove.htm
Fred
Profil
Můžete se někdo prosím mrknout v Opeře na ten poslední příklad, jestli to ukládá správně, zdá se, že jí mám nějakou nakopnutou, nezobrazuje mi zdroják a neukládá.
Johnny
Profil
to nevim,nemam operu,
ale myslel jsem ze by se ulozil vyber,
neco bych zaskrtal,a kdyz bych pak dal ulozit/ulozit jako tak by se ulozilo jenom to zaskrtany/vyplneny
-v podstate ze by se ulozil kod tiskovyho nahledu.
btw:ten seznam jak si udelal (ten http://xy.wz.cz/parentNode.htm ) jak do nej muzu vkladat nadpisy?
napr:
nadpis
1 polozka
2 polozka
...
n polozka

2 nadpis
dalsi polozky
atd..
habendorf
Profil
Fred: K tomu poslednímu příkladu - Opera 8.5 to vůbec neuloží a blbne i jinak - odstraní pouze první checked, další už ne.
Fred
Profil
habendorf Hm, mrcha, opravil jsem cestu k editoru a zdroják už mi ukazuje, ale jakmile ho document.write přepíše neukáže nic, ani neotevře editor.
Johnny tak by se ulozilo jenom to zaskrtany/vyplneny ASAF to jenom pomocí js mimo gecko nejde, protože bys musel ještě na něco kliknout pro uložení výběru. Když jeden zaškrtneš, musíš nezaškrtlé odstranit a to nejde. Musel by jsi zaškrtat víc voleb a pak potvrdit, na to by se víc hodilo php a asi nějaký form.
Johnny
Profil
a co ty nadpisy?
habendorf
Profil
Nadpisy s tím nemají co dělat. Do html se vkládají jako hx.
Johnny
Profil
nadpisy nemyslim do toho ulozeni,kdyz to nejde tak to nejde.
mě jde o to,abych moh mezi jednotlivý položky seznamu vkladat nadpisy,že bych ten seznam rozdělil na několik sekcí

abych naznačil líp co chci,má to bejt jídelní lístek pro rauty a večírky,kde co si zakazník objedná,to zaškrtnu a vono se to vytiskne do objednávky,a chci to rozdělit podle typů jídel - teplý raut,studený raut ,předkrmy..., s tim,že by si v každý kategorii jídel vybral co chce a co nechce.
Radek Hrabůvka
Profil
Co tak to uložit jako URL, podobně, jako řeší Pixy na stránce http://www.wellstyled.com/tools/colorscheme2/index.html uložení barevných schémat.
Johnny
Profil
neprisel jsem na to jak to tam uklada,ale kdyz sem to ulozil pres "ulozit jako",tak tam bylo vzdycky jenom to výchozí barevný schéma
Fred
Profil
No je tam odkaz url tohoto schématu, dělá v podstatě to co jsem říkal, otevře stránku index.php? + data, data do url dodá javascript, stránku k uložení vygeneruje php, tak jako tak na něco kliknout pro uložení výběru
Johnny
Profil
no jo,ale ber me jako lamu,ja proste nevim,jakym zpusobem se tam to barevny schema uklada,kdyz na to kliknu,tak to schema akorat zmizi,ale spis nez tohle bych potreboval vedet jak se do toho seznamu co si vytvoril delaj ty nadpisy.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0