---
title: "\"Titel\" och värde i en combobox"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/18769-titel-och-värde-i-en-combobox"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Kim"
published: "2002-01-16T15:34:00.000Z"
updated: "2002-01-21T15:56:00.000Z"
replies: 18
views: 321
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/18769-titel-och-värde-i-en-combobox"
---

# "Titel" och värde i en combobox

## #1 — Kim, 2002-01-16T15:34Z

Jag har en databastabell med ett antal olika avdelningar på en sida. Alla dessa avdelningar har ett id som används för att dirigera besökaren rätt, det finns alltså ett id och ett namn. Nu ska jag ha dessa i ett länkverktyg. Därför kommer det se ut ungefär så här:

```
<select name="selectbox">
<option value="1">Startsida
<option value="2">Bandyklubben
<option value="3">Fotbollsklubben
<option value="4">Handbollsklubben
</select>
```

Om jag nu ska hämta ta dessa värden med javascript så får jag ju bara fram värdet, d.v.s. id-numret (1,2,3...osv), men hur gör jag om jag skulle vilja ha även namnet, så att Startsida, Bandyklubben, Fotbollsklubben och Handbollsklubben också kommer med? Går det att göra överhuvudtaget?

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

## #2 — Jojoxx, 2002-01-16T16:47Z

Om vi tänker oss att **obj** är objekt-referensen för select-listan (document.formulärsnamn.selectbox) så hittar du värdena med **obj\[*indexnummer*\].value** och texten med **obj\[*indexnummer*\].text**

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

## #3 — Kim, 2002-01-17T07:58Z

Tack så mycket! :D

En liten följdfråga, eftersom detta rör sig lite om sidor och undersidor, så ligger det \- och &nbsp; framför den text som tas fram med **obj\[indexnummer\].text**. Hur får man bort såna tecken med javascript?

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

## #4 — Kim, 2002-01-17T08:55Z

Tackar! :D

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

## #5 — Jojoxx, 2002-01-17T08:56Z

Exempel;

```
obj[0].text.replace(/(^\-)&#0124;(^\&nbsp\;)/,"");
```

\- returnerar texten från selectlistans index 0 och plockar bort - och &nbsp; i början. Sen är det bara att loopa.

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

## #6 — Kim, 2002-01-17T09:06Z

Hur kan jag läsa ditt inlägg, skriva ett svar och sen få det att hamna före ditt? ;)

Jaja, det fungerar inte riktigt. Det är så att jag i comboboxen behöver alla streck och mellanslag, men när jag sen ska skriva ut det så vill ja inte ha dem. Jag har alltså en strängvariabel innehållandes t.ex. \- Nyheter, hur gör jag för att ta bort strecket och det inledande mellanslaget?

\--- Red ---
Ursäkta för intrånget i ditt inlägg. Jag råkade klicka på fel knapp :/

\[Redigerat av Jojoxx den 17 jan 2002\]

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

## #7 — Jojoxx, 2002-01-17T11:30Z

*Hur kan jag läsa ditt inlägg, skriva ett svar och sen få det att hamna före ditt? ;)*

**För att man som moderator har möjligheten att radera ett inlägg och skriva ett nytt istället för att redigera. Ser lite snyggare ut när man skriver fel :)**

*Jaja, det fungerar inte riktigt. Det är så att jag i comboboxen behöver alla streck och mellanslag, men när jag sen ska skriva ut det så vill ja inte ha dem.*

Exemplet ovan returnerar bara ett värde, det ändrar inte på orginalet. Det är lite med finessen. Skulle du (tvärtom) vilja ändra på orginalet får du göra det med en tilldelning;

obj\[0\].text=obj\[0\].text.replace...osv.

*Jag har alltså en strängvariabel innehållandes t.ex. \- Nyheter, hur gör jag för att ta bort strecket och det inledande mellanslaget?*

Observera att &nbsp; och " " (mellanslag) inte är samma sak. För att ta bort "- " från början av en sträng kan du använda;

string=string.replace(/^\\-\\s/,"");

För att ta bort "-&nbsp;" i början;

string=string.replace(/^\\-\\&nbsp\\;/,"");

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

## #8 — Kim, 2002-01-17T12:32Z

Problemet är att det inte alltid är ett bindestreck och inte alltid lika många &nbsp;, ibland är det nämligen fyra stycken &nbsp; och ibland åtta.
Du har inget färdigt exempel som fixar detta?

Tack förresten för att du orkar med mina problem.

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

## #9 — Jojoxx, 2002-01-17T17:04Z

This should do the trick.

```
string=string.replace(/(^\-((\&nbsp\;)*))&#0124;(^(\&nbsp\;)+)/,"");
```

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

## #10 — Kim, 2002-01-18T12:16Z

Nope, it didn't do the trick.

Den plockar bort bindestreck, men inte några &nbsp; alls. :(

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

## #11 — Jojoxx, 2002-01-18T15:03Z

Yes, it does too ;)

```
// Test 1
string="-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;En sträng";
string=string.replace(/(^\-((\&nbsp\;)*))&#0124;(^(\&nbsp\;)+)/,"");
alert(string);

// Test 2
string="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;En sträng";
string=string.replace(/(^\-((\&nbsp\;)*))&#0124;(^(\&nbsp\;)+)/,"");
alert(string);
```

Klistra in och testa. Det är inte så att du blandar ihop &nbsp; och " "?

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

## #12 — Kim, 2002-01-18T15:12Z

No, it doesn't. ;)

Så här ser select-koden ut.

```
<select name="internLink" size="1" onFocus="document.insertLink.link[1].checked = true">
<option value=0>Huvudnivå
<option value=2>NYHETSARKIV
<option value=997>    Provar igen
<option value=981>    Testnyhet
<option value=1011>    Testnyhet
<option value=1012>    Urban testar
<option value=998>    medlemsnyhet
<option value=987>    Test2
<option value=980>Provar modulen
<option value=985>”Vi har en hel del lite udda jobb”
<option value=971>Kontakt
<option value=969>MEDLEMMAR
<option value=983>Målet är att bli certifierad projektledare
<option value=982>Nu är även RM kvalitetssäkrat
<option value=984>Nyföretagarlånet gjorde förvärvet möjligt
<option value=201>Sök
</select>
```

Testa gärna med den så ska du få se att det inte alls fungerar. ;)

/R: De mellanslag du ser precis efter option-taggen är alltså &nbsp;
Det fungerar inte...

\[Redigerat av Kim den 18 jan 2002\]

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

## #13 — Jojoxx, 2002-01-18T15:35Z

Fungerar det om du använder;

string.replace(/(^\\-((\\s)\*))&#0124;(^(\\s)+)/,"");

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

## #14 — Kim, 2002-01-18T15:46Z

Nej du, det gör inte det. Men tack ändå, du behöver inte lägga ner mer tid på det här, du har hjälpt mig tillräckligt ändå. :D

Tack så mycket, det får vara så här över helgen i alla fall. :)

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

## #15 — Jojoxx, 2002-01-18T16:21Z

Jag är fortfarande inte riktigt överens med regexpet, men det duger;

```
string=string.replace(/(&nbsp;)&#0124;(^\-)/g,"");
```

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

## #16 — Kim, 2002-01-21T10:38Z

Jag är ledsen att behöva säga det här, men det fungerar fortfarande inte. ;)

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

## #17 — Jojoxx, 2002-01-21T11:39Z

Spännande. Det verkar som detta skiljer mellan olika webbläsare. Vi gör en ny approach;

string=string.match(/(\\w.+)/); string=RegExp.$1;

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

## #18 — Kim, 2002-01-21T13:17Z

Näe, det alla som du har skrivit (utom det sista) klarar av att ta bort bindestreck, men inte &nbsp; .

Jag fattar inte. :OO

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

## #19 — Jojoxx, 2002-01-21T15:56Z

Iofs ser jag att jag tilldelningen string=string.match är onödig utan det räcker med att köra regexpet, men det spelar ingen roll. Ovanstående har jag testat i Netscape 4.07, Mozilla, IE5.01 och IE5.5 och det fungerar. Jag har även lagt upp ett test [här](http://www.jojoxx.net/test/kim.html). Markera ett val i listan och klicka på knappen. Hakparenteserna är bara med i alert-rutan för att du skall se e.v. mellanslag. Testa gärna och titta i källkoden så ser du att - och &nbsp; används. Vad testar du med för webbläsare?

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/18769-titel-och-värde-i-en-combobox
