Autor Zpráva
novacek90
Profil
Ahoj,
potřeboval bych poradit s přepínáním obrázků pomocí radiobuttonu ve formuláři.

mám

HTML:
        <input type="radio" class="radiobutton" name="lem" value="klasik"{if $type == 'klasik'} checked="checked"{/if} /> Klasik
        <input type="radio" class="radiobutton" name="lem" value="klasik_dlouhy"{if $type == 'klasik_dlouhy'} checked="checked"{/if}> Klasik dlouhý
        <input type="radio" class="radiobutton" name="lem" value="max"{if $type == 'max'} checked="checked"{/if}> Max
        <input type="radio" class="radiobutton" name="lem" value="basic"{if $type == 'basic'} checked="checked"{/if}> Basic    
              
      <h2>Požaduji úpravu hloubky lemu</h2>
        <div id="gallery">        
          <a href="/templates/img/modely/{$type}-moznosti-big.jpg" rel="lightbox" title="možné úpravy lemu">
          <img src="/templates/img/modely/{$type}-moznosti-small.jpg" id="imagetype" alt="Možné úpravy lemu" /></a>

a javascript
$(function() {
 // dialog
 $('.radiobutton').onclick(function() {
 var type = $('.radiobutton').val();
 $('#imagetype').attr('src','/templates/img/modely/'+type+'-moznosti-small.jpg');
 });
});

potřeboval bych, aby když si uživatel přepne radio button např. z klasik na max, aby se mu překreslil obrázek z
<img src="/templates/img/modely/klasik-moznosti-small.jpg" id="imagetype" alt="Možné úpravy lemu" />
na
<img src="/templates/img/modely/max-moznosti-small.jpg" id="imagetype" alt="Možné úpravy lemu" />

prostě, aby se mu změnilo v adrese obrázku $type tedy hodnota value="něco" daného inputu.

Pozn. používám SMARTY a mám implementovanou JS knihovnu jQuery

Předem děkuji za rady
Chamurappi
Profil
Reaguji na novacka90:
Na řádku 4 necháváš najít opět všechny elementy s class="radiobutton", měla by tě zajímat hodnota toho, na němž událost vznikla, tedy:
 var type = this.value;
novacek90
Profil
ano máš pravdu nyní jsem našel odkaz:

http://api.jquery.com/attr/

a popravdě už nevím v čem by mohla být chyba :(

zkoušel jsem už i

// JavaScript Document
$(function() {
 // dialog
 $('.radiobutton').onclick(function() {
var type = this.value;
  $('#imagetype').attr('src',function() {
    return "/templates/img/modely/"+type+"-moznosti-small.jpg";
  });
 });
});
Chamurappi
Profil
Reaguji na novacka90:
zkoušel jsem už i
Tím jsi akorát komplikovaněji zapsal totéž. Zkus sem raději dát odkaz na živou ukázku.

Edit: Moc si nejsem jistý, že by na jQuery objektu byla metoda s názvem onclick.
novacek90
Profil
ahoj,
máš pravdu má tam být jen .click a ne .onclick
ale už mi to funguje tu dávám plně funkční javascript, kdyby někdo řešil stejný probém a děkuji za pomoc

// JavaScript Document
$(function() {
 // dialog
 $('.radiobutton').click(function() {
var type = this.value;
  $('#imagetype').attr('src',function() {
    return "/templates/img/modely/"+type+"-moznosti-small.jpg";
  });
 });
});

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:

0