Autor Zpráva
CharlieX
Profil *
Mám problém s předáním hodnoty:
$(document).ready(function(){ 
        var id = 'Test'; 
        $('#Name').keyup(function(){ 
                id = '#Mobil'; 
        }); 


        $(id).click(function(){ 
        console.log(id); 
        }); 



}); 

Konzola vypíše "#Mobil", ale #(id) má hodnotu "Test". Díky předem za radu.

Charlie
_es
Profil
CharlieX:
V jQuery sa nevyznám, no tie dve nepomenované funkcie používajú spoločnú premennú id, ktorú si navzájom prepisujú.
Takže do konzoly je asi zapísané id až po spustení prvej funkcie.
Charlie22
Profil
Já bych ale pořeboval dostat hodnotu #Mobil do $(id), kam teď moentalně script přiřazuje hodnotu test, i když console.log(id) vypíše hodnotu #Mobil.
Nox
Profil
Charlie22:
Máš to logicky špatně, jelikož keyup pouze přiřadí elementu #name handler ("zpracovávač"? :) ) který obslouží událost keyup, tzn. píše co se stane při kliknutí, ale obsah toho se zatím ještě neprovede. Další je pak na řadě další přiřazení události a v id je pochopitelně stále Test

Fungovat by mělo něco jako
//var id = 'Test'; 
$('#Name').keyup(function(){ 
  $("#Mobil").click(function(){ 
    console.log( $(this).attr("id") );
  }); 
}); 


řádek console.log jsem také změnil, protože při kliknutí na daný element by se nevypisovalo jeho id, ale právě nastavené id
ono ta proměnná id tady vlastně konkrétně není potřeba, ale pokud to budeš (jakože asi jo) nějak ještě rozšiřovat, tak možná bude
_es
Profil
Charlie22:
Napíš zrozumiteľne, čo sa snažíš dosiahnuť.
Teda mám na stránke (?) a keď návštevník spraví (?), má sa stať (?).
A keď spraví (?), tak sa má zase stať (?).
Najlepšie aj s odkazom na stránku.

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: