JavaScript innerHTML + for

Programovacie jazyky, rady, poradňa...
Light
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 13
Registrovaný: 11 sep 2010, 20:52
Bydlisko: Bratislava
Kontaktovať používateľa:

JavaScript innerHTML + for

Príspevok od používateľa Light »

Zdravim, mam taky problem s JS pracujem iba kratku dobu a narazil som na jeden problem pri tvojbe formularu.
Ak si precitate kod tam vam asi bude jasne o co sa snazim, ide o select, kde si uzivatel vyberie nejaku hodnotu, lenze mne sa samozrejme nechce zakazdym vypisovat 15-krat option s danou hodnotou ale chcem ich vypisat pomocou cyklu for, ale neviem ako.

Moj kod vyzera takto, ale samozrejme nefunguje lebo neviem ako zaclenit ten cyklus FOR do toho vypisu.

Kód: Vybrať všetko

var pocetKs = new Array("1","3","5","10","20","30","40","50","100","200","300","500");

document.getElementById('idBloku').innerHTML =
"<select id='vyberPocet'>"
    +"<option>"+   for(var i=3; i<14; i++)    {	pocetKs[i];	  }   +"</option>"
+"</select>";
Pls poradte, Dik moc.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JavaScript innerHTML + for

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

var pocetKs = new Array("1","3","5","10","20","30","40","50","100","200","300","500");

var optiony = "";
for(var i=3; i<14; i++)    {   optiony += "<option>" + pocetKs[i] + "</option>" ;     }
document.getElementById('idBloku').innerHTML = "<select id='vyberPocet'> + optiony + "</select>";
povedzme že takto. Spravil by som to inač (cez DOM a nie cez innerHTML ale keď js nevieš, to by som ťa iba moc zaťažoval)
Light
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 13
Registrovaný: 11 sep 2010, 20:52
Bydlisko: Bratislava
Kontaktovať používateľa:

Príspevok od používateľa Light »

hej no aj som si myslel ze to takto nejako bude fungovat, diky za pomoc :) moc si mi pomohol, ono sa to da spravit aj cez PHP ale necem som robit z toho gulas a mixovat jedno cez druhe :D
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JavaScript innerHTML + for

Príspevok od používateľa audiotrack »

ale nezabúdaj, že js môžu mať ľudia vypnutý (kým ak to bude cez php tak sa ten select vytvorí vždy)
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Re: JavaScript innerHTML + for

Príspevok od používateľa Mmartin »

A aby sa predislo otazke "ako sa to robi v php", tak ti rovno hodim aj kod pre PHP, keby si si to nahodou rozmyslel.

Kód: Vybrať všetko

<select>
<?php
$pocetKs = array("1","3","5","10","20","30","40","50","100","200","300","500");
for($i=0;$i<=11;$i++){
  echo("<option> ". $pocetKs[$i] ."</option>");
}
?>
</select>
Len by som priradil tym optionom aj value, nech sa s nimi da lahsie pracovat.
Light
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 13
Registrovaný: 11 sep 2010, 20:52
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JavaScript innerHTML + for

Príspevok od používateľa Light »

hej viem ze ho mozu vypnut, ale tak ine riesenie nevidim, lebo to je viacero tych selectov a tie sa menia podla predchadzajucich a podobne takze ako inak to spravit ma nenapada
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JavaScript innerHTML + for

Príspevok od používateľa audiotrack »

Spoteny programator: v tom cykle ti v $pocetKs chýba pred i znak doláru
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Re: JavaScript innerHTML + for

Príspevok od používateľa Mmartin »

Jo, diky za opravu, editol som to.
V poslednom case robim len v cpp/pascale, tak sa divim, ze syntax a parse chyb nemam viac :)
Light
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 13
Registrovaný: 11 sep 2010, 20:52
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JavaScript innerHTML + for

Príspevok od používateľa Light »

Este mam otazocku. Mam nejaky blok s ID v ktorom sa mi obsah meni pomocou innerHTML. Meniaci obsah su tie rolovacie ponuky tj. select s roznymi optionmi (moznostami). Problem je ze ta zmena toho obsahu sa uskutocnuje na strane uzivatela a nie na servery. Takze obsah sa zmeni ale nie na servery a ked potom dam odoslat (submit) tak sa value (hodnota ktoru v selecte zvolil uzivatel) PHPcku nepreda. Ako na to pls poradte nejaky grif :D viem ze by sa dalo asi cez URL a podobne ale niesom isty ci to je spravne riesenie.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JavaScript innerHTML + for

Príspevok od používateľa audiotrack »

a to je práve tá vec, ktorú som myslel že by som to spravil inač. Treba to pridať do DOM
http://www.tek-tips.com/faqs.cfm?fid=4766
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Re: JavaScript innerHTML + for

Príspevok od používateľa Mmartin »

Spoteny programator napísal: Len by som priradil tym optionom aj value, nech sa s nimi da lahsie pracovat.
V JS sa to da tusim menit nejak.. takto?

Kód: Vybrať všetko

document.getElementByValue('hodnota').value='Nova hodnota';
Akurat neviem, ci sa na 100% da pouzit ByValue, pouzival som len ById...
Light
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 13
Registrovaný: 11 sep 2010, 20:52
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JavaScript innerHTML + for

Príspevok od používateľa Light »

No hej este musim studovat. O tom DOMe zatial nemam moc ucele informacie ale zhruba viem o com to je. Idem pozriet ten tut co si poslal. Dik zatial.
Napísať odpoveď