• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

funktionsübergabeparemter verändern

musclebreast

Mitglied
Hallo,

ich habe in meinem HTML folgende Zeile:

Code:
<a href="javascript:FullTextRemove(3)"><img width="16" height="16" border="0" alt="Remove" src="/img/websbroker/delete_row.gif"></a>

Beu der Funktion FulltestRemove wird der Parameter 3 übergeben....gibt es da irgendeine chance auf den wert zuzugreifen und ihn zu verändern, z.B auf 2? Bietet jquery da etwas?

LG,

Lara
 
1.) entferne den Funktionsraufruf aus dem Link und gib diesem statt dessen eine ID
2.) baue eine Objekt aus den Link-IDs:
Code:
var myLinks = {
    '#id_1' : 1,
    '#id_2' : 2,
    ....
}

Über dieses Objekt kannst du mit $.each() iterieren und deine Funktion aufrufen.
 
hi,

danke für deinen tipp...so habe ich es noch nie gemacht aber ich werden deinen weg mal probieren...rein aus interesse, weil ich gestern abend noch ein wenig probiert habe..wenn ich "this" in einer Funktionn übergebe:

Code:
<a href="javascript:FullTextRemove(this)"><img width="16" height="16" border="0" alt="Remove" src="/img/websbroker/delete_row.gif"></a>

was genau wird übergeben? Mit typeof sehe ich, dass ein Obeject ist und ich ging auch davon aus dass ich mit this.tagname ...a erhalten werde vom link...allerdings bekomme ich undefinied zurück...wo ist da mein denkfehler bzw. was wird da übergeben?

LG,

Lara
 
Hallo,

hat deinn keiner einen Tipp für mein Problem? Was übergebe ich mit "this" hier...vor allem wo denke ich mal wieder falsch!?:)

lg,

Lara
 
Das Wort "this" bezieht sich bei JavaScript immer auf das Objekt in dem es aufgerufen wird.

Beispiel:
Code:
<a href="javascript:void(0);" onclick="alert(this.innerHTML);">Irgendein Text</a>
liefert beim Anklicken des Links den Text "Irgendein Text" in einem alert-Fenster da "this" sich auf das <a>-Objekt bezieht, welches bei "innerHTML" eben diesen Text beinhaltet.

Ich kenne die Funktion FullTextRemove() nicht, aber einfach von irgendeiner Zahl auf "this" zu ändern ohne die Funktion dahingehend anzupassen, wird vermutlich nicht funktionieren. Solange uns die Funktion nicht bekannt ist, kann man dir hier auch wenig helfen.
 
Hallo,

ich habe noch ein wenig getestet und jetzt weiss ich warum ihr nicht ganu wisst was ich machen möchte. Weil wie gedacht kann es nicht einmal im Anstz funktionieren:) Eigentlich ist es nicht so schwer. Ich habe mehrer Zeilen mit Inputfeldern und jeweils einen Remove Button pro Zeile bzw. Feld. Wenn dieser Button gedrückt wird, dann soll genau die Zeile gelöscht werden in der sich auch der Button befindet.


Code:
<script>
function Remove() {

}


</script>





<TR class="row_content">

<TD NOWRAP WIDTH="2%">

<p class="text" >Look for:&nbsp;</p>
</TD>

<TD NOWRAP>

<INPUT TITLE="" CLASS="valueEditable" TYPE="TEXT" NAME="Content_1" VALUE="" SIZE="70">');


</TD>


<TD ALIGN="RIGHT" NOWRAP WIDTH="5">
<A HREF='javascript:Remove()'><IMG SRC="remove_row.gif" WIDTH="16" HEIGHT="16" BORDER="0"></A>

</TD>

</TR>



<TR class="row_content">

<TD NOWRAP WIDTH="2%">

<p class="text" >Look for:&nbsp;</p>
</TD>

<TD NOWRAP>

<INPUT TITLE="" CLASS="valueEditable" TYPE="TEXT" NAME="Content_2" VALUE="" SIZE="70">');


</TD>


<TD ALIGN="RIGHT" NOWRAP WIDTH="5">
<A HREF='javascript:Remove()'><IMG SRC="remove_row.gif" WIDTH="16" HEIGHT="16" BORDER="0"></A>

</TD>

</TR>


Zeilen und Input Felder haben eigene Namen. Übergebe ich mit der Remove Funktion einen Index:

Remove(1)


dann kann ich es so löschen:


Code:
function FullTextRemove(c)
{


$(".row_content").eq(c-1).remove();


}


Ich will es aber dynamischer und keine feste Zahl in der Remove funktion übergeben bzw. kann man dynamisch en Index der Reihe übergeben bzw. habt ihr Ideen wie ich es am besten umsetzen kann?

LG,

Lara
 
Code:
$(selector).on('click', function() {
    $(this).remove();
});

Als Selektor das Element einsetzen, das du löschen willst.
 
Zurück
Oben