---
title: "Grrr...för många if-satser...:)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11157-grrr-för-många-if-satser"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Lukaspojken"
published: "2001-08-17T08:57:00.000Z"
updated: "2001-08-17T11:05:00.000Z"
replies: 4
views: 242
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/asp/11157-grrr-för-många-if-satser"
---

# Grrr...för många if-satser...:)

## #1 — Lukaspojken, 2001-08-17T08:57Z

Jag gör en hämtning från databasen och ska ha in värdet "selected" i en input-option. Går detta är göra på något effektivare sätt?

```
	IF taskPriority = "Hög" THEN
		selectPriority1 = "selected"
	End if

	IF taskPriority = "Normal" THEN
		selectPriority2 = "selected"
	End if

	IF taskPriority = "Låg" THEN
		selectPriority3 = "selected"
	End if
```

Sen när jag ska använda det html formen så ser det ut så här:

```
					<SELECT NAME="taskPriority" class=mini>
					<option value="Hög" <% =selectPriority1 %>>Hög
					<option value="Normal" <% =selectPriority2 %>>Normal
					<option value="Låg" <% =selectPriority3 %>>Låg
					</OPTION>
					</SELECT>
```

Jag har tre sådana här Select till så det blir hiskligt många if-satser...

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

## #2 — M@rtin, 2001-08-17T09:06Z

Använd SELECT CASE kanske. Fast det blir väl nästan lika mkt kod ändå.

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

## #3 — emission, 2001-08-17T09:11Z

Själva if-blocket skriver man bättre

```
IF taskPriority = "Hög" THEN
selectPriority1 = "selected"
elseif taskPriority = "Normal" THEN
selectPriority2 = "selected"
elseif taskPriority = "Låg" THEN
selectPriority3 = "selected"
End if
```

Eller ännu hellre

```
Select Case taskPriority
Case "Hög"
selectPriority1 = "selected"
Case "Normal"
selectPriority2 = "selected"
Case "Låg" 
selectPriority3 = "selected"
End Select
```

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

## #4 — Lukaspojken, 2001-08-17T09:17Z

Tack...det var lite bättre struktur på koden...

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

## #5 — Koplik, 2001-08-17T11:05Z

Enklast med loop!

```
dim arrLevels(3)

arrLevels(1) = "Hög"
arrLevels(2) = "Normal"
arrLevels(3) = "Låg"

For cLoop = 1 To UBound(arrLevels)

If taskPriority = arrLevels(cLoop) Then
  Selected = "Selected"
Else
  Selected = ""
End If
%>
<Option Value="<%= arrLevels(cLoop)%>" <%= Selected%>><%= arrLevels(cLoop)%></Option>
<%
Next
```

Det är så jag brukar göra med markering i rullister :)

\[r\]Heh... Så att det inte sparde så mycket kod! :e Men det blir bättre om man har mer än 3 olika val, bara öka stoleken på array:en och så är det klart! :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11157-grrr-för-många-if-satser
