Autor | Zpráva | ||
---|---|---|---|
lukasMK Profil * |
#1 · Zasláno: 21. 6. 2011, 17:25:55
Zdravím, mám následující kód:
<a href="files/neco.jpg" id="menicise" style="display:block;width:300px;background-position:center center;background-repeat:no-repeat;height:300px;background-image:url('files/300/neco.jpg')"></a> <select> <option onClick="document.getElementById('menicise').style.backgroundImage='url(files/300/neco2.jpg)';document.getElementById('menicise').href='files/neco2.jpg'">černá</option> <option onClick="document.getElementById('menicise').style.backgroundImage='url(files/300/neco3.jpg)';document.getElementById('menicise').href='files/neco3.jpg'">zelená</option> . . . . </select> Ovšem daný kód nefunguje v IE (pouze v IE9). Dle projetých diskuzí by asi šlo použít onchange přímo u selectu ovšem to nevím jak v daném problému. Poradí prosím někdo? |
||
Darker Profil |
#2 · Zasláno: 21. 6. 2011, 17:36:44
lukasMK:
„by asi šlo použít onchange přímo u selectu“ Tedy jsi to ještě neskusil? V tom případě hurá na to. V opačném případě je tu ještě onFocus. |
||
_es Profil |
#3 · Zasláno: 21. 6. 2011, 17:42:56
lukasMK:
To máš koľko takých atribútov onclick ?
Nevieš si na to spraviť jednu funkciu? „Dle projetých diskuzí by asi šlo použít onchange přímo u selectu“ Áno, napríklad takto: <select onchange="nastav(this.selectedIndex)"> nastav , ktorá podľa vybratého option u nastaví to, čo treba. A nielen, že to bude jednoduchšie, ale to bude aj správne fungovať vo všetkých prehliadačoch.
|
||
lukasMK Profil * |
#4 · Zasláno: 21. 6. 2011, 17:59:15
Onfocus nefunguje. Ten onchange si nastuduju, vůbec nevím jak na to. Díky.
|
||
_es Profil |
#5 · Zasláno: 21. 6. 2011, 18:15:49
lukasMK:
„vůbec nevím jak na to“ Veď som ti dal jasný návod. Funkciu nastav , ktorá podľa čísla vybraného option u v argumente spraví všetko potrebné, si snáď spravíš aj sám. V jednotlivých option och ti potom nebudú treba žiadne atribúty.
|
||
lukasMK Profil * |
#6 · Zasláno: 22. 6. 2011, 00:07:54
Pokud jsem to pochopil dobře, u každého options bych měl ve value název toho obrázku a ten název pak bude v proměnné this.options[this.selectedIndex].value, co když ale mám value zabrané, mohu to tam vepsat jinak?
|
||
_es Profil |
#7 · Zasláno: 22. 6. 2011, 09:24:34
lukasMK:
„co když ale mám value zabrané“ No tak využiješ poradové číslo optionu: this.selectedIndex .
Veď to aj meníš podľa toho: neco2 , neco3 , atď.
|
||
lukasMK Profil * |
#8 · Zasláno: 22. 6. 2011, 12:16:29
To je ale pouze název obrázku, dostal jsem se sem:
<a href="files/neco.jpg" id="menicise" style="display:block;width:300px;background-position:center center;background-repeat:no-repeat;height:300px;background-image:url('files/300/neco.jpg')"></a> <select onchange="document.getElementById('menicise').style.backgroundImage = 'url(files/300/' + this.options[this.selectedIndex].value2 + ')' "> <option value2="neco2.jpg">černá</option> <option value2="neco3.jpg">zelená</option> . . . . </select> To ale nefunguje. |
||
Darker Profil |
#9 · Zasláno: 22. 6. 2011, 12:33:09
Netuším, proč tam máš value2 a ne value.
this.selectedIndex představuje číslo vybrané položky, pokud máš tedy obrázky, jenž se co do jména liší jen číslem, stačí měnit to číslo. Pokud se pak obrázky jmenují různě, nejlepší bude vytvořit pole číslované analogicky s čísly možností. Tedy vybereš druhou a onchange si z pole načte druhý obrázek. |
||
_es Profil |
#10 · Zasláno: 22. 6. 2011, 12:34:29
lukasMK:
Nečítaš pozorne rady, prečítaj si ich znovu poriadne. Nazvi si súbory ako chceš, no tak, aby to malo z hľadiska celku význam. „this.options[this.selectedIndex].value2“ Ako si prišiel k vlastnosti value2 ? Čo by mala predstavovať?
Prečo tam stále „cpeš“ this.options[this.selectedIndex] , keď ti stačí poradové číslo vybraného optionu, teda výraz this.selectedIndex ?
|
||
lukasMK Profil * |
#11 · Zasláno: 22. 6. 2011, 14:45:29
Cpu to do value2 protože value mám již zabrané nečím jiným, to jsem psal.
|
||
Chamurappi Profil |
#12 · Zasláno: 22. 6. 2011, 15:19:48
Reaguji na lukaseMK:
A na ostatní rady neodpovíš? Pole neznáš? |
||
_es Profil |
#13 · Zasláno: 22. 6. 2011, 18:31:45
lukasMK:
„Cpu to do value2 protože value mám již zabrané nečím jiným, to jsem psal.“ Až na to, že ti to tak nebude fungovať vo všetkých prehliadačoch. To ti nestačí poradové číslo vybratej položky? Veď sa ten názov líši len tým číslom. Ak aj nie, máš aj iné vhodné atribúty, napríklad id alebo name .
|
||
lukasMK Profil * |
#14 · Zasláno: 22. 6. 2011, 19:54:26
Příklad byl pouze příklad, název obrázku je vždy jiný.
Pokud tedy název obrázku u options dám do id <option id="city-prilehave-tricko-s-kulatym-vystrihem[3].jpg" value="726">White</option> Tak onchange má vypadat jak? Takto mi to nefunguje, bude tam asi nějaká blbost. onchange="document.getElementById('menicise').style.backgroundImage='url(files/300/' + this.options[this.selectedIndex].id + ')\''" Prosím může mě někdo nasměrovat kde je tam chyba? Řešení chci použít tohle. |
||
lukasMK Profil * |
#15 · Zasláno: 22. 6. 2011, 19:59:34
Chybu jsem již našel, děkuji moc za pomoc.
|
||
Chamurappi Profil |
#16 · Zasláno: 22. 6. 2011, 20:06:18
Reaguji na lukaseMK:
„děkuji moc za pomoc“ Není zač. Použil jsi ohavný postup, který ti tu nikdo neradil. Zneužívat id k tomuhle… no fuj.
|
||
Darker Profil |
#17 · Zasláno: 22. 6. 2011, 21:14:48
Chamurappi:
„který ti tu nikdo neradil“ Bohužel _es: „napríklad id“ Cesta menšího odporu... |
||
_es Profil |
#18 · Zasláno: 22. 6. 2011, 22:16:09 · Upravil/a: _es
Darker:
> Bohužel > _es: > „napríklad id“ > Cesta menšího odporu... Navrhoval som mu využiť nejako name alebo id , keď už nedokázal vysvetliť, prečo mu nestačí poradové číslo option u, nie dávať do id celý, zbytočne komplikovaný a dlhý, názov súboru.
|
||
Darker Profil |
#19 · Zasláno: 22. 6. 2011, 23:22:39
_es:
Já tě neobviňoval. Celý příspěvek byl myšlen tak že tenhle člověk najisto šáhne po nejblbějším řešení. Cuum unique. |
||
Časová prodleva: 2 měsíce
|
|||
lukasMK Profil * |
#20 · Zasláno: 12. 8. 2011, 11:48:35
Ještě jednou zdravím, mám ještě jeden dotaz.
Chtěl bych při kliknutí na odkaz, vybrat daný options v selectu podle toho prasáckého ID. S value mi to funguje, jenže to jak jsem psal je již zabrané jinou hodnotou. onclick="document.getElementById('Barva').value='grey'" Pokud místo value dosadím id samozřejmě to nefunguje, prosím o pomoc. |
||
lukasMK Profil * |
#21 · Zasláno: 12. 8. 2011, 11:55:21
Omlouvám se, vyřešil jsem (trochu jinak).
|
||
Časová prodleva: 13 let
|
0