Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JS] onChange event - tekst wisselen

Pagina: 1
Acties:

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
'k Heb even liggen zoeken op GoT of er een topic over bestond, maar 'k wist totaal niet hoe ik het probleem moest formuleren.

Even uitleggen dus. In mijn CMS systeem kunnen klanten beschikken over een changelog. Hierin zien ze dan hoe de werken aan hun website vorderen. Als beheerder kan ik natuurlijk alle changelogs van elke site die in ontwikkeling is volgen.

Nu had ik op mijn overzichtspagina een drop-down list gemaakt en als je klikte op de naam dan kreeg je de changelog te zien van die welbepaalde site. 'k Heb hiervoor een heel simpel JavaScriptje gemaakt.

JavaScript:
1
2
3
4
5
6
7
function changeList()
{
  var x=document.getElementById("listSelect").selectedIndex;
  var id=document.getElementsByTagName("option")[x].value;
  
  document.getElementById(id).style.visibility="visible";
}


Wat is nu juist het probleem. Wanneer ik een changelog visible maak, dan komt deze visible op de plaats waar hij in de code staat, en dus niet helemaal bovenaan.

'k kan je even de structuur weergeven

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div id=website1>
  <p>dit is de changelog item 1 van website 1</p>
  <p>dit is de changelog item 2 van website 1</p>
  <p>dit is de changelog item 3 van website 1</p>
</div>
<div id=website2>
  <p>dit is de changelog item 1 van website 2</p>
  <p>dit is de changelog item 2 van website 2</p>
  <p>dit is de changelog item 3 van website 2</p>
</div>
<div id=website3>
  <p>dit is de changelog item 1 van website 3</p>
  <p>dit is de changelog item 2 van website 3</p>
  <p>dit is de changelog item 3 van website 3</p>
</div>


Dus wanneer ik de changelog van website 3 bv. wil bekijken, dan staat deze natuurlijk helemaal onderaan aan m'n scherm en natuurlijk wil ik deze bovenaan.

'k Weet niet juist hoe dat moet, 'k zou het kunnen oplossen door met de position gaan werken in de CSS maar dat lijkt me niet de juiste manier. Iemand enig idee hoe'k dit juist moet oplossen?

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
niet visibility gebruiken, maar display = none...

wellicht ten overvloede: ik hoop trouwens niet dat je voor je klanten alleen de dropdownmogelijkheden beperkt, want dan kunnen ze via de bron alsnog alle andere gegevens achterhalen...

[ Voor 65% gewijzigd door P.O. Box op 08-11-2007 03:28 ]


  • Cartman!
  • Registratie: April 2000
  • Niet online
Je moet een soort container hebben waar je de code in zet waar je deze wilt tonen OF je hebt die container zonder inhoud en dan plaats je de inhoud van een div van een website daarin. En zoals Edwardvb al zegt : gebruik display:none; ipv visibility:hidden; Waarom dat is kun je het best zelf even testen.

En waarom haal je de gegevens niet gewoon uit de database adhv. de gebruiker die ingelogd is? Wat heeft klant 1 te maken met de vordering van klant 3? Reken maar dat je gebeld wordt door klant 3 als ze zien dat de ontwikkeling van site 1 veel harder gaat dan site 3...

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Edwardvb schreef op donderdag 08 november 2007 @ 03:27:
niet visibility gebruiken, maar display = none...

wellicht ten overvloede: ik hoop trouwens niet dat je voor je klanten alleen de dropdownmogelijkheden beperkt, want dan kunnen ze via de bron alsnog alle andere gegevens achterhalen...
Neen, dat is volledig gesplitst. Als een klant inlogged op het systeem en zijn changelog wilt beijken gaat het systeem in de klantgegevens opzoeken welke site gelinkt is aan de klant. Over een dropdownlist beschikken zij niet, dit is enkel voor mij beschikbaar.
Cartman! schreef op donderdag 08 november 2007 @ 08:56:
Je moet een soort container hebben waar je de code in zet waar je deze wilt tonen OF je hebt die container zonder inhoud en dan plaats je de inhoud van een div van een website daarin. En zoals Edwardvb al zegt : gebruik display:none; ipv visibility:hidden; Waarom dat is kun je het best zelf even testen.

En waarom haal je de gegevens niet gewoon uit de database adhv. de gebruiker die ingelogd is? Wat heeft klant 1 te maken met de vordering van klant 3? Reken maar dat je gebeld wordt door klant 3 als ze zien dat de ontwikkeling van site 1 veel harder gaat dan site 3...
Kijk hierboven even :-)

[ Voor 39% gewijzigd door imp4ct op 08-11-2007 09:19 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Alles werkt mooi, maar 't klein probleempje is nu dat wanneer ik een andere changelog kies, de vorige natuurlijk terug zou moeten verdwijnen. Maar vermits een <div> geen "name" element heeft gaat de JS code dus niet.

JavaScript:
1
document.getElementsByName


Hoe kan ik dit het beste oplossen ?

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • mocean
  • Registratie: November 2000
  • Laatst online: 25-11 11:02
imp4ct schreef op donderdag 08 november 2007 @ 20:10:
Alles werkt mooi, maar 't klein probleempje is nu dat wanneer ik een andere changelog kies, de vorige natuurlijk terug zou moeten verdwijnen. Maar vermits een <div> geen "name" element heeft gaat de JS code dus niet.

JavaScript:
1
document.getElementsByName


Hoe kan ik dit het beste oplossen ?
document.getElementById(id) gebruiken

Koop of verkoop je webshop: ecquisition.com


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
mocean schreef op vrijdag 09 november 2007 @ 00:11:
[...]


document.getElementById(id) gebruiken
Helpt niet echt veel deze post..
Ik moet weten hoe 'k bij de keuze van een changelog, de changelog die zichtbaar is terug verberg.
Vermits ik bij mijn dropdownlist niet kan opvragen welke de "vorige" geselecteerde index is zit ik met een probleem.

'k Had al gedacht om een soort loop te laten lopen van value die hij terugvind in de dropdownlist maar dat lijkt me wat met omwegen werken, 't zou simpelder moeten kunnen maar 'k weet dus niet hoe.

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat dacht je ervan om die vorige geselecteerde op te slaan in een globale variabele? ;)

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.


  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Of gewoon de anker van de pagina verplaatsen of een display gebruiken zoals de eerste post al aangaf. Wat gaat er nu nog niet?

disjfa - disj·fa (meneer)
disjfa.nl

Pagina: 1