[JS] Verkrijgen informatie node

Pagina: 1
Acties:
  • 123 views sinds 30-01-2008
  • Reageer

  • Tootoo
  • Registratie: Augustus 2003
  • Laatst online: 29-08 00:28

Tootoo

Folding extremist

Topicstarter
Hoi tweakers,

ik zit met de volgende situatie. Ik heb een ASPX pagina (c#) gemaakt met daarin een treeview, welke gebruik maakt van nodes.

"Grafisch" ziet dat er als volgt uit:

code:
1
2
3
- Controle groep 1
| - Taak1
| - Taak2


Hierbij kun je binnen C# elke node een unieke waarde mee geven dmv van het simpele statement
code:
1
node.Value = <waarde>;


In dit geval:
- controle groep 1: C101
- Taak 1: T1001
- Taak 2: T1002

Nu wil ik door middel van javascript graag deze unieke waarde weer naar boven halen wanneer ik op het menu item klik. Alleen is de vraag: welk javascript statement moet ik daarvoor gebruiken?

Voeg ik de volgende regel C# / Javascript code toe dan kan ik wel de tekst (Controle groep 1, Taak1, Taak2) opvragen:
code:
1
trvTaakclusters.Attributes.Add("onclick", "alert(event.srcElement.lastChild.nodeValue);");


De verdere zaken die ik geprobeerd heb zijn met de volgende resultaten (wanneer ik op Controle groep 1 klik):
- srcElement.id: trvTaakclusterst0;
- srcElement.innerText: Controle groep 1
- srcElement.innerHTML: Controle groep 1
- srcElement.nodeValue: null
- srcElement.firstChild.nodeValue: Controle groep 1

Dus nu mijn vraag: welk javascript statement moet ik wel gebruiken om die unieke ID op te vragen?

Folding@home


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:35

crisp

Devver

Pixelated

Je wilt neem ik aan in javascript je Taak 1 en Taak 2 kunnen benaderen? Hoe ziet je gegenereerde HTML er uit?

Overigens is gebruik van event.srcElement IE-only

Intentionally left blank


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Belangrijk om even te laten zien hoe je gegenereerde code eruit ziet en welke waarde je precies wilt ophalen :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Tootoo
  • Registratie: Augustus 2003
  • Laatst online: 29-08 00:28

Tootoo

Folding extremist

Topicstarter
crisp schreef op vrijdag 12 januari 2007 @ 13:24:
Je wilt neem ik aan in javascript je Taak 1 en Taak 2 kunnen benaderen? Hoe ziet je gegenereerde HTML er uit?

Overigens is gebruik van event.srcElement IE-only
Dat het alleen door IE ondersteund wordt, had ik door :) Maakt voor nu ook nog even niet uit.

Wat ik wil is dat er op een item in het menu wordt geklikt (of dat nu Controle groep 1 of Taak1 / 2 is maakt even niet uit) er de melding wordt gegeven van de bijbehorende unieke waarde die ik van te voren al toegekend heb.

De code die uitgespuugd wordt nadat ik het stukje menu opengeklapt heb (naja, de relevante code dan) is dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100%">
            <tr>
                <td style="width:50%; vertical-align:top;">
                    <a href="#trvTaakclusters_SkipLink"><img alt="Navigatiekoppelingen overslaan." src="/20061128_sdo_analyse_omgeving/WebResource.axd?d=12jk28fCkIF6XizR5cKH2g2&amp;t=632961652092500000" width="0" height="0" style="border-width:0px;" /></a><div id="trvTaakclusters" onclick="alert(event.srcElement.nodeValue);" style="width:250px;">
    <table cellpadding="0" cellspacing="0" style="border-width:0;">
        <tr>
            <td><a id="trvTaakclustersn0" href="javascript:TreeView_PopulateNode(trvTaakclusters_Data,0,trvTaakclustersn0,trvTaakclusterst0,null,' ','Controle of importtabellen leeg zijn (Status: 3)','101','f','','t')"><img src="/20061128_sdo_analyse_omgeving/WebResource.axd?d=r2VZPp1n_gUPOM9boX46Tq3zYuREiCfVzCy1tVLCJRc1&amp;t=632961652092500000" alt="Controle of importtabellen leeg zijn (Status: 3) uitvouwen" style="border-width:0;" /></a></td><td style="white-space:nowrap;"><a class="trvTaakclusters_0" href="javascript:TreeView_PopulateNode(trvTaakclusters_Data,0,trvTaakclustersn0,trvTaakclusterst0,null,' ','Controle of importtabellen leeg zijn (Status: 3)','101','f','','t')" id="trvTaakclusterst0">Controle of importtabellen leeg zijn (Status: 3)</a></td>
        </tr>
    </table>
</div><a id="trvTaakclusters_SkipLink"></a>
                </td>
                <td style="width:50%">
                    <iframe id="iframeVerwerkingstaken" name="iframeVerwerkingstaken" style="height:450px" width="100%" frameborder="0"></iframe>
                </td>
            </tr>
        </table>

[ Voor 60% gewijzigd door Tootoo op 12-01-2007 13:35 ]

Folding@home


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:35

crisp

Devver

Pixelated

Argh, wat een ranzige markup...

Maar wat precies is nu die 'unieke waarde'?

[ Voor 32% gewijzigd door crisp op 12-01-2007 15:25 ]

Intentionally left blank


  • Tootoo
  • Registratie: Augustus 2003
  • Laatst online: 29-08 00:28

Tootoo

Folding extremist

Topicstarter
Die ranzige markup maakt microsoft er helaas van, zou inderdaad willen dat die beter was ;)

De unieke waarde zie je terug in de volgende regel:
code:
1
TreeView_PopulateNode(trvTaakclusters_Data,0,trvTaakclustersn0,trvTaakclusterst0,null,' ','Controle of importtabellen leeg zijn (Status: 3)','101','f','','t')


Die 101 is in dit geval de unieke waarde die ik ook graag wil krijgen.

PS: of dit nu thuis hoort in dit form of Programming was ik niet zeker van, omdat het een combi was van C# / ASP.NET (Programming) en javascript (dit form) :)

[ Voor 75% gewijzigd door Tootoo op 12-01-2007 16:12 ]

Folding@home


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:35

crisp

Devver

Pixelated

Kan je niet gewoon in trvTaakclusters.Attributes.Add meteen die waarde opgeven in je onclick handler?
Verder zie ik die '101' nergens in de markup terugkomen, dus dat lijkt me dan een lastige zaak...

Intentionally left blank


  • Tootoo
  • Registratie: Augustus 2003
  • Laatst online: 29-08 00:28

Tootoo

Folding extremist

Topicstarter
crisp schreef op vrijdag 12 januari 2007 @ 16:15:
Kan je niet gewoon in trvTaakclusters.Attributes.Add meteen die waarde opgeven in je onclick handler?
Verder zie ik die '101' nergens in de markup terugkomen, dus dat lijkt me dan een lastige zaak...
Ik heb er aan zitten denken, of dat mogelijk zou zijn. Het punt is dat ik eerst dat attribuut toevoeg aan het object trvTaakclusters en daarna de nodes er aan hang. Ik zou me geen code kunnen bedenken die ik kan gebruiken om gelijk die unieke waarde erin te knallen.

Die 101 wordt geplaatst en wordt dan dus ook opnieuw gebruikt nog... Ik had juist gehoopt dat ik die 101 nog kon benaderen naderhand. Maar ik vermoed dat mijn asp code dit allemaal plaatst :) Ik vermoed dus dat dit een geval is van een workaround :)

Folding@home

Pagina: 1