2010-12-29 12 views
1

mit habe ich eine Funktion wie folgt aus:jquery - eine Funktion id in einer anderen Funktion

function loadcategory(id) { 
    jQuery("#categoryArea").load("ajax_post_category.php?catid="+id+""); 
    } 

im bekommen id über die Verbindung wie folgt aus:

<a href='javascript:loadcategory(".$row['catid'].");'> 

Ich mag würde Funktion loadcategory verwenden (ID) ID in einer anderen Funktion. zum Beispiel:

function different() { 
     jQuery("#different").load("ajax_post_category.php?catid="+loadcategory(id)+""); 
     } 

wie Sie i + loadcategory (id) sehen wollten + verwenden, aber ich habe keine Werte bekommen. Nun, wie kann ich diesen Wert von jQuery bekommen? Ich weiß nicht, kann mir jemand den wahren Weg sagen?

Grüße

+0

Meine Antwort ist ziemlich spekulativ. Wenn Sie mehr Informationen darüber geben können, was Sie eigentlich tun wollen, können andere vielleicht eine nützlichere Antwort geben als meine (ich muss verschwinden oder ich würde es zurück überprüfen). Viel Glück. –

+0

Ich bekomme ID über den Link mit jquery. das ist okay. Ich kann es nur an einem Ort verwenden. Ich wollte es nur in den anderen Funktionen verwenden. naja, momentan kann ich es nur 1 Platz benutzen. Zum Beispiel: ich erstelle einen Wert in PHP ($ test = 34;), und ich kann diesen Wert an jeder Stelle für so viele Male verwenden, indem Sie einfach $ test eingeben. das ist das was ich machen wollte .. danke für deine zeit und beispiel. – andrew

Antwort

1

Das Snippet Sie geben, wo es funktioniert:

<a href='javascript:loadcategory(".$row['catid'].");'> 

... erscheint einige PHP-Code zu sein, dass ein Tag href für einen Anker erzeugt. Insbesondere erscheint es eine spezifische ID ausgibt, so dass die erzeugt Markup, das an den Browser geht wie folgt aussieht:

<a href='javascript:loadcategory("foo");'> 

Ihr zweites Beispiel:

jQuery("#different").load("ajax_post_category.php?catid="+loadcategory(id)+""); 

... wird mit vollständig Client -Seitencode und einen nicht definierten Wert (id).

Um die Funktion wiederzuverwenden, müssen Sie entweder PHP verwenden, um eine andere ID auszugeben, oder die ID an different übergeben oder anderweitig sicherstellen, dass eine gültige ID an loadcategory übergeben wird. Ohne weitere Informationen, ist es schwer zu sagen, was zu empfehlen, aber zum Beispiel an, dass Sie eine Reihe von Anker-Tags hatten, und jeder Anker-Tag hatte ein data-cat dass tol dus Attribut welcher Kategorie zu laden:

<a href='#' data-cat="foo"> 
<a href='#' data-cat="bar"> 
<a href='#' data-cat="baz"> 

dann könnten Sie einen Handler ihnen anschließen, die loadcategory Verwendung dieser Werte genannt:

jQuery(function($) { 
    $('a[data-cat]').click(function() { 
     loadcategory($(this).attr('data-cat')); 
     return false; 
    }); 
}); 

, die von der Suche nach alle Anker-Tags funktioniert, die ein data-cat Attribut haben, ihre click Ereignis Einhaken, und wenn es auftritt immer die data-cat Attribut und Aufruf loadcategory mit diesem Wert.

Das ist eine Vermutung, was Sie tun wollen, aber hoffentlich von etwas Nutzen.

+0

@ karim79: Das ist Standard, so dass das Klicken auf den Link harmlos ist, wenn JavaScript deaktiviert ist. Beachten Sie, dass ich die Standardaktion im Handler abbringe, wenn JavaScript aktiviert ist. –

+0

Ich weiß, aber es könnte auch '' sein. Ich habe das auch gewählt. – karim79

Verwandte Themen