---
title: "Lås upp textruta?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/180078-lås-upp-textruta"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "streetrobban"
published: "2009-09-02T19:42:40.000Z"
updated: "2009-09-04T08:36:28.000Z"
replies: 5
views: 573
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/180078-lås-upp-textruta"
---

# Lås upp textruta?

## #1 — streetrobban, 2009-09-02T19:42Z

Hej!

Jag vill göra en dropdown där man låser upp en textruta bredvid (den syns, men är inte klickbar) när man väljer ett visst menyval i dropdown-listan.

Går detta att göra?

**EDIT 1**
Jag hittade lite kod som nästan funkar. Följande kod låser textrutan när sidan laddas. Väljer man något annat än det första valet i dropdown-listan så öppnas textrutan. Väljer man det översta igen så låser man rutan. Hur ska jag göra för att ENBART låsa upp rutan med det andra menyvalen, och låsa rutan igen oavsett vilket annat val man gör?

```
<script type="text/javascript">
window.onload = function()
{
	setCbState(document.forms["TheForm"].elements["Store"]);
}
function setCbState(obj)
{
	obj.form.elements["NewStore"].disabled = !(obj.selectedIndex > 0);
}
</script>
```

```

			<select name="Store" class="input" style="width: 256px; height: 24px" onChange="setCbState(this)">
			<option>Välj affär</option>
			<option>Ny affär</option>
			<option></option>
.. massa options ...
```

```
<input type="text" name="NewStore" class="input" style="width: 250px; height: 18px">
```

**EDIT 2**
Jag hittade lösningen. Jag ändrade (obj.selectedIndex \> 0) till (obj.selectedIndex == 1) och \<option\>Ny affär\</option\> till \<option id="1"\>Ny affär\</option\>. :)

En ny fråga då, vet någon hur man rensar textrutan om den är "disabled". D.v.s. om man väljer "Ny affär" och skriver något i rutan. Men sedan ångrar sig och väljer något annat val, så textrutan blir "disabled" igen. Då vill jag att den ska rensas.

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

## #2 — streetrobban, 2009-09-03T15:00Z

Jag lyfter fram min andra fråga i den här tråden.

En ny fråga då, vet någon hur man rensar textrutan om den är "disabled". D.v.s. om man väljer "Ny affär" och skriver något i rutan. Men sedan ångrar sig och väljer något annat val, så textrutan blir "disabled" igen. Då vill jag att den ska rensas.

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

## #3 — Peter S, 2009-09-03T17:30Z

```
function setCbState(obj)
{
	obj.form.elements["NewStore"].disabled = (obj.selectedIndex == 1);
	if (obj.form.elements["NewStore"].disabled)
		obj.form.elements["NewStore"].value = "";
}
```

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

## #4 — streetrobban, 2009-09-04T07:11Z

Tack för svaret! Själva funktionen funkar, så den raderar tecknen i textrutan. Men det är ändå inte rätt.

Funktionen är liksom inverterad. När jag väljer en affär från listan så öppnas textrutan, och när jag väljer "ny affär" så stängs textrutan. Det ska liksom vara tvärt om :)

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

## #5 — jawbreaker, 2009-09-04T07:43Z

Det är bara en liten, liten miss i första raden i funktionen... Rutan ska låsas om man inte valt första värdet i listan, nu låses den om man har valt det första. Så det borde bara vara att ändra == till != i jämförelsen i första raden.

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

## #6 — streetrobban, 2009-09-04T08:36Z

> **[jawbreaker skrev:](https://www.webforum.nu/p/1479347)**
>
> Det är bara en liten, liten miss i första raden i funktionen... Rutan ska låsas om man inte valt första värdet i listan, nu låses den om man har valt det första. Så det borde bara vara att ändra == till != i jämförelsen i första raden.

Perfekt! Det löste biffen! Tack för er hjälp alla :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/180078-lås-upp-textruta
