benutzerdefinierte funktionen mit onclick aufrufen

Spectre1895

Grünschnabel
Hi Leute,

Ich hoffe Ihr könnt mir helfen.

Ich will eine benutzerdefinierte Funktionen die in jQuery steht mittels onclick aufrufen und variablen übergeben nur kommt als Fehler das diese Funktion nicht definiert ist.

Code:
jQuery(document).ready(function(){
    
    function Aendern(function1,function2){
        var gallery_id = function1, apt = function2;
    }
    
});

und hier sollen die Variablen die gewünschte werte bekommen.

HTML:
<div class="inhalt">
<table border="1">
<thead>
<tr>
<th>Titel</th>
<th>Datum</th>
<th colspan="2"></th>
</tr>
</thead>
<tbody>
<tr>
<td>Motorradausfahrt</td>
<td>17. November 2010</td>
<td><a href="#"><img src="./images/b_edit.png" alt="Bearbeiten"></a></td>
<td><a href="#" onclick="Aendern('2','delete');"><img src="./images/b_drop.png" alt="Löschen"></a></td>
</tr>
</tbody>
</table>
</div>

Danke im voraus.
 
Du definierst ja auch die Funktion im Gültigkeitsbereich von der jQuery-Funktion.
Definiere deine Funktion mal global bzw. außerhalb der jQuery-Funktion.
 
Danke für die schnelle Antwort.

Ja dann gehts, aber dann werden die Werte die ich an die Funktion gegeben habe für die anderen Funktionen nicht "sichtbar" oder halt nicht weiter gegeben. Ich brauch die aber in den anderen Funktionen diese wiederrum aber nur in jquery funktionieren.
 
Dann speicher doch diese Werte auch in globalen Variablen.
Auf diese kannst du von überall zugreifen.
 
aber dann muss ichs doch am ende der Seite schreiben damit keine Probleme beim laden gibt oder?
weil eigentlich brauch ich die werte noch in eien dialog:
Code:
$( "#dialog-confirm" ).dialog({
    resizable: false,
    draggable: false,
    modal: true,
    autoOpen: false,
    buttons: {
        Ja: function() {
            window.open('http://www.meineseite.de/?site=admingalerien&apt='+apt+'&gallery_id='+gallery_id, '_self');
        },
        Nein: function() {
            $( this ).dialog( "close" );
        }
    }
});

ich hab auch schon versucht die werte gleich beim öffnen des dialogs zu übertragen:
HTML:
<a href="#" onclick="$('#dialog-confirm').dialog('open',gallery_id='2',apt='delete');"><img src="./images/b_drop.png" alt="Löschen"></a>

hat aber nicht geklappt.
 
aber dann muss ichs doch am ende der Seite schreiben damit keine Probleme beim laden gibt oder?
Wieso am Ende der Seite?
Du teilst einfach nur dem JS-Interpreter mit, dass es so eine globale Variable gibt und in den Funktionen schreibst du einfach Werte hinein.

Probier mal folgendes:
Javascript:
/* global */
var gallery_id = null;
var apt = null;

/* global */
function Aendern(function1,function2)
{
  gallery_id = function1;
  apt = function2;
}

/* lokal (eigtl. egal) */
$( "#dialog-confirm" ).dialog({
    resizable: false,
    draggable: false,
    modal: true,
    autoOpen: false,
    buttons: {
        Ja: function() {
            window.open('http://www.meineseite.de/?site=admingalerien&apt='+apt+'&gallery_id='+gallery_id, '_self');
        },
        Nein: function() {
            $( this ).dialog( "close" );
        }
    }
});
 
hab dein vorschlag mal ausprobiert hat aber immer noch nicht ganz funktioniert.
aber hab mein Problem anderweitig gelöst durch einen kleinen umweg:

HTML:
<a href="#" onclick="Aendern('1');"><img src="./images/b_drop.png" alt="Löschen"></a>
<input type="hidden" id="temp" value="">

Code:
function Aendern(function1)
{
  $('#temp').attr({value: function1});
  $('#dialog-confirm').dialog('open');
}

und:

Code:
var gallery_id = $("#temp"),allFields = $([]).add(gallery_id);
window.open('http://www.hondaschmidt.de/?site=admingalerien&apt=delete&gallery_id='+gallery_id.val(), '_self');
 

Neue Beiträge

Zurück