---
title: "dölja/visa text i en <div>"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/66540-dölja-visa-text-i-en-div"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "tlee"
published: "2003-01-29T15:02:26.000Z"
updated: "2003-01-30T15:37:56.000Z"
replies: 3
views: 240
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/66540-dölja-visa-text-i-en-div"
---

# dölja/visa text i en <div>

## #1 — tlee, 2003-01-29T15:02Z

hej!

ett problem.

```
<tr>
<td>
<select name=select_1 OnChange="calc('txt_1','artikel1');">
<option>1</option>
</select>
<div id="txt_1"></div>
</td>
</tr>

<tr>
<td>
<select name=select_2 OnChange="calc('txt_2','artikel2');">
<option>1</option>
</select>
<div id="txt_2"></div>
</td>
</tr>
```

funktionen calc ser ut såhär

```

function Calc(Id, strArticleNr){

string = "<a bref=# OnClick=javascript:OpenWindow('info.asp?id="+strArticleNr+"')>a</a>";

if (document.all){
document.all[Id].innerHTML = string;
} else if (document.getElementById){
jxdocrange = document.createRange();
jxdocrange.setStartBefore(document.getElementById(Id));
while (document.getElementById(Id).hasChildNodes()){
document.getElementById(Id).removeChild(document.getElementById(Id).lastChild);
}
document.getElementById(Id).appendChild(jxdocrange.createContextualFragment(string));
}

}
```

Ovan funktion är skriven av jojoxx, all heder åt honom!
Anyways vad jag vill skall hända är att när man ändrar val i någon av droplistorna så
skall det komma en länk till höger om den man valt. och den andra selecten som inte längre är "vald"
skall "släckas" och inte visa någon länk.

som det är nu så "släcker" han inte de "\<select\>" som har tappat focusen. utan det hamnar länkar
jämte varje \<select\> tillslut vilket inte är bra.

en annan grej som irriterar är att \<div\> skapar en radbrytning går det fixa?

/tobias

Permalänk: https://www.webforum.nu/p/66540

## #2 — Jojoxx, 2003-01-29T16:48Z

```
var lastid=false;
function calc(Id, strArticleNr){
lastid=Id;
string=(strArticleNr)?"<a href=\"#\" OnClick=\"OpenWindow('info.asp?id="+strArticleNr+"');\">a</a>":"";
if (document.all){
	document.all[Id].innerHTML = string;
} else if (document.getElementById){
	jxdocrange = document.createRange();
	jxdocrange.setStartBefore(document.getElementById(Id));
	while (document.getElementById(Id).hasChildNodes()){
		document.getElementById(Id).removeChild(document.getElementById(Id).lastChild);
	}
	document.getElementById(Id).appendChild(jxdocrange.createContextualFragment(string));
}
}
```

och

```
OnChange="if(lastid){calc(lastid,'')} calc('txt_1','artikel1');"
```

> en annan grej som irriterar är att \<div\> skapar en radbrytning går det fixa?

Det beror på avv \<div\> är ett block-element. Byter du ut det mot \<span\> som är ett inline-element försvinner radbrytningen.

Permalänk: https://www.webforum.nu/p/933197

## #3 — tlee, 2003-01-30T13:01Z

funkar nästan

jag bugar jojoxx!

verkar vara något som strular dock, jag får följande fel.

'lastid' är odefinierad
rad 160

rad 160 ser ut som nedan.

```
<select name="_level_1" OnChange="if(lastid){Calc(lastid,'1','2')} Calc('txt_1','1','2');">
```

variabeln är definierad utanför Calc();

```
<script language=javascript>
<!--

var lastid=false;

function Calc(Id, CurrentPos, iMax){
```

Jag har ändrat lite vilka värden den skickar med, strArticleNr plockar jag upp senare, men det bör
väl inte ha med detta problemet att göra?

Permalänk: https://www.webforum.nu/p/933815

## #4 — Jojoxx, 2003-01-30T15:37Z

När jag kör det så fungerar det perfekt. Ett par saker som jag kan tänka mig är dessa:

\* Du har skiftat lite gemener och VERSALER mellan exemplen, ex. calc() och Calc() - detta är inte samma sak, kinkigt.

\* Kolla så att du inte har några HTML-felaktigheter som gör att script-blocket inte exekveras. Ingen kommentarstag, avslutad html-tag eller något innan själva scriptet?

Permalänk: https://www.webforum.nu/p/933920

---

Tråden på webben: https://www.webforum.nu/amne/javascript/66540-dölja-visa-text-i-en-div
