CodeForum.chCode ForenJavaScriptThema: selectoren jquery
Seiten: [1]
AntwortenDrucken
Autor Thema: selectoren jquery  (Gelesen 1294 mal)
Mathi
oft hier
*
Offline Offline

Beiträge: 168



WWW
« am: 09. Oktober 2008, 13:14:34 »
ZitierenZitat

Hi @all,
wie kann ich beim click auf die classe 'ref' in der 2. zeile der tabelle auf die 1.zeile der tabelle auf die selbe spalte zugreifen?

also ich brauche wenn ich z.b auf den 2. link in der 2. zeile (4.spalte)  clicke '<a href="#" class="ref">90-02-851.0-11</a>' den inhalt vom 4. th in der ersten zeile 'text2'
hab schon alles mögliche probiert, komme aber nicht drauf.

Code:
<table width="880" border="0" cellpadding="0" cellspacing="0" class="data_table">
<tr class="data_ueb">

      <th width="50" valign="middle">text</th>

<th width="5">&nbsp;</th>

<th valign="middle">text1</th>

<th width="5">&nbsp;</th>

<th valign="middle">text2</th>

<th width="5">&nbsp;</th>

<th valign="middle">text3</th>

<th>&nbsp;</th>

</tr>
</tr>

  <tr class="teile_unten">

    <td valign="top">90-02</td>

      <td>&nbsp;</td>

    <td valign="top"><a href="#" class="ref">90-02-827.0-11</a></td>

      <td>&nbsp;</td>

    <td valign="top"><a href="#" class="ref">90-02-851.0-11</a></td>

      <td>&nbsp;</td>

    <td valign="top"><a href="#" class="ref">60-01-852.0-01</a></td>

    <td width="100%">&nbsp;</td>

    </tr>

</table>

Gruß Mathi
Moderator informieren   Gespeichert
SuperMario
Globaler Moderator
*
Offline Offline

Beiträge: 2497



« Antworten #1 am: 09. Oktober 2008, 13:58:28 »
ZitierenZitat

Hui, das sind aber ganz schön seltsame Aufgaben, die du hier mit jQuery lösen willst. Also schön wird die Lösung hier nicht werden.

Also theoretisch müsstest du erstmal rausfinden in welchem Element des <tr> Vater-Elements geklickt wurde, also der Index des <tr>-Arrays und dann kann du dich mit der Funktion parent() 2 Ebenen Hochhangeln, dann mit der Funktion find() wieder alle <th> der ersten Zeile finden und dann den gemerkten Index auslesen. Ob das dann immer so klappt, weiß ich nicht.

Hier ist ein Beispiel der Funktion index():
http://docs.jquery.com/Core/index

irgendwie so müsstest du anfangen:
Code:
$(".ref").click(function() {
  var myIndex = $(this).parent().index(this);
  var myText = $(this).parent().parent().get(0).find("th").get(myIndex).val();
});
Den Code habe ich jetzt einfach mal so hingeschrieben ohne garantie auf richtigkeit, aber damit kannst du ja erstmal rumspielen.
Moderator informieren   Gespeichert
Mathi
oft hier
*
Offline Offline

Beiträge: 168



WWW
« Antworten #2 am: 09. Oktober 2008, 15:07:21 »
ZitierenZitat

das hab ich mir auch erst hinterher überlegt, das es gut wäre die bezeichnung noch mitzuliefern.
oh mann is das wieder ein akt...

oder ich gebe einfach dem td wo der link drin steht einen namen (name="text") mit der bezeichnung die ich brauche, das müßte doch dann einfacher gehen oder?
Moderator informieren   Gespeichert
SuperMario
Globaler Moderator
*
Offline Offline

Beiträge: 2497



« Antworten #3 am: 09. Oktober 2008, 15:23:01 »
ZitierenZitat

Es wäre schon besser und schöner zu lösen, wenn du gleich mehr Information in den HTML Code reingenerierst. Dann mußt du nicht solche Verrenkungen machen, um an die Daten zu kommen.
z.B könntest du bei der generierung der <td>s eine counter mitlaufen lassen und jedem <td> eine Atrribute mit eindeutiger ID mitgeben:
Code:
<td spalte="<counterinhalt>">a href="#" class="ref">34.343-343.343.44</a></td>
Und bei den <th>s läßt du auch einen Counter mitlaufen , z.b. so:
Code:
<th id="th-<counterinhalt>">text1</th>

Und dann kannst du folgenden jquery code nutzen:
Code:
$(".ref").click(function() {
  var spalte = $(this).parent().attr("spalte");
  var myText = $("th-"+spalte).val();
});

Probiers mal.

Geht bestimmt noch schöner, aber fällt mir im moment nicht ein.
Moderator informieren   Gespeichert
Seiten: [1]
AntwortenDrucken
CodeForum.chCode ForenJavaScriptThema: selectoren jquery
Gehe zu:  

 

Partner Sites

Werbung

TinyPortal v1.0.5 beta 1© Bloc