webForumDet fria alternativet

disable select med checkbox

18 svar · 833 visningar · startad av mattiasnordin

mattiasnordinMedlem sedan maj 20012 080 inlägg
#1

Hej alla glada.

Jag undrar om det är möjligt att disable en selectbox beroende på om en checkbox på samma sida är ifylld eller inte.

:q

mattiasnordinMedlem sedan maj 20012 080 inlägg
#2

Hittade denna. Löser delvis mitt problem. Men först och främst. Jag suger på javascript.

Om checkboxen inte är ifylld så ska alltid selectboxen vara disabled.

Om checkboxen är ifylld så ska den vara editerbar.

Nu är det tvärt om.

<head>
<script language="JavaScript">
<!--

function dis_select(changestate)
{
    document.form1.singleselect.disabled = changestate;
}

// -->
</script>
</head>
<body>
<form name="form1">

<BR>
<HR>

<input type="checkbox" onclick="dis_select(this.checked)" /> Disable/Enable

  <select name="singleselect" size="1" >
    <option>a</option>
    <option>b</option>
    <option>c</option>
  </select>

</form> 
</body>
</html>
dectgapMedlem sedan sep. 20021 655 inlägg
#3

Ändra

document.form1.singleselect.disabled = changestate;

till

document.form1.singleselect.disabled = !changestate;
@ndersMedlem sedan juni 200032 969 inlägg
#4

För att göra enklast möjliga, borde inte detta funka:

function dis_select(changestate)
{
    document.form1.singleselect.disabled = !changestate;
}

Jag är ju inte heller någon kung på javascript, men prova kan man nog i alla fall. :)

edit: Jo, säger han så, så... ;)

mattiasnordinMedlem sedan maj 20012 080 inlägg
#5

Super :)

mattiasnordinMedlem sedan maj 20012 080 inlägg
#6

Men som alltid... Jag ändrar ju checkboxen när sidan laddas med VBscript.

Är databasen true så ska den vara checked och annars ej. Scriptet tar inte hänsyn till vad default läge är utan arbetar enbart när jag påverkar den.

Hur kompletterar jag skriptet så att om default är att rutan är ikryssad så ska selectboxen inte vara disablad ?

mattiasnordinMedlem sedan maj 20012 080 inlägg
#7

Bifogar nuvarnade kod...

<!--- Hanterar avstängnign av submeny valet --->
<script language="JavaScript">
function dis_select(changestate){
	document.edit.req_set_this_id_to_master.disabled = !changestate;
	}
</script>

<br clear=all>
&nbsp; Sidan är en subsida 	
	<input type="checkbox" name="req_submeny_true" onclick="dis_select(this.checked)" <%if varValdSubSida <> "" then%> checked <% end if %>> 
till sidan 

	<!--- Hämtar alla sidor och laddar subsidmenyn --->
	<select name="req_set_this_id_to_master" disabled>
	<% sql = "SELECT lank_namn, id, huvud_meny_id FROM T_sidor WHERE sub_meny_till_sida_id IS null AND site_id = " &sSiteId &" ORDER BY huvud_meny_id, lank_namn"
	response.write "<hr><b>Bygger select boxen:</b> " &sql &"<hr>"
	set rsSelect = connect.execute(sql)
	while not rsSelect.eof %>
		<% if rsSelect("id") = varValdSubSida then %>
		<option selected value="<%=rsSelect("id")%>"><%=rsSelect("huvud_meny_id")%>)&nbsp; <%=rsSelect("lank_namn")%></option>
		<% else %>
		<option value="<%=rsSelect("id")%>"><%=rsSelect("huvud_meny_id")%>)&nbsp; <%=rsSelect("lank_namn")%></option>
		<% end if %>
	<% rsSelect.movenext
	wend %>
	</select>

:OO

@ndersMedlem sedan juni 200032 969 inlägg
#8
<body onload="dis_select(document.getElementById('chk').checked);">

...

<input type="checkbox" onclick="dis_select(this.checked)" [b]id="chk"[/b]/> Disable/Enable
mattiasnordinMedlem sedan maj 20012 080 inlägg
#9

Vad betyder / i slutet av <input... ?

och

vad är det för skillnad på ID= och NAME= ?

@ndersMedlem sedan juni 200032 969 inlägg
#10

Vad betyder / i slutet av <input... ?

I XHTML måste alla element avslutas. I element som inte har en egen avslutningstagg lägger man en slash sist.

vad är det för skillnad på ID= och NAME= ?

id är ett elementnamn som måste vara unikt i dokumentet. När du använder id kan du använda document.getElementById('foo') för att med javascript komma åt elementets egenskaper.
Om du istället använder name, behöver namnet inte vara unikt. Om du använder name får du använda olika metoder beroende på vad för sorts element det är, när du skall komma åt elementets egenskaper.

id är en global identifierare (dvs, id är giltigt på alla element), men name är inte det. Name har olika innebörder beroende på elementtyp.

mattiasnordinMedlem sedan maj 20012 080 inlägg
#11

Superb. Tack för beskrivningen. :)

@ndersMedlem sedan juni 200032 969 inlägg
#12

Vahzegoh! :)

lzonMedlem sedan okt. 200468 inlägg
#13

mattiasnordin skrev:

<head>
<script language="JavaScript">
<!--

function dis_select(changestate)
{
    document.form1.singleselect.disabled = changestate;
}


// -->
</script>
</head>
<body>
<form name="form1">

<BR>
<HR>

<input type="checkbox" onclick="dis_select(this.checked)" /> Disable/Enable

  <select name="singleselect" size="1" >
    <option>a</option>
    <option>b</option>
    <option>c</option>
  </select>

</form> 
</body>
</html>

Hej,
Det här funkade ju bra! Att kryssa i en checkbox för att disabla en knapp. Försökte nu att få det tvärt om:
Att alltså kryssa i en checkbox för att enabla en knapp.
Nån som vet? Jag har sökt här på forumet men hittar konstigt nog inget :q

Tack på förhand!

Peter SMedlem sedan dec. 20025 483 inlägg
#14

Hejsan!

Om vi fortsätter på ovanstående kod:

<head>
<script language="JavaScript">
<!--

function dis_select(changestate)
{
    document.form1.button.disabled = changestate;
}

// -->
</script>
</head>
<body>
<form name="form1">

<BR>
<HR>

<input type="checkbox" onclick="dis_select(this.checked)" /> Disable/Enable
<input type="button" name="button" value="Knapp" />

</form> 
</body>
</html>
Web-TorMedlem sedan nov. 200013 890 inlägg
#15

Fast det var väl tvärt om du ville ha det?

<head>
<script language="JavaScript">
<!--

function dis_select(changestate)
{
    document.form1.button.disabled = !changestate;
}

// -->
</script>
</head>
<body>
<form name="form1">

<BR>
<HR>

<input type="checkbox" onclick="dis_select(this.checked)" /> Disable/Enable
<input type="button" name="button" value="Knapp" disabled="disabled" />

</form> 
</body>
</html>

Nu är knappen disablad från början och enablas när man klickar i checkboxen.

lzonMedlem sedan okt. 200468 inlägg
#16

Web-Tor skrev:

Fast det var väl tvärt om du ville ha det?
Nu är knappen disablad från början och enablas när man klickar i checkboxen.

Exakt Tor. Tvärtom var det.
Tack ska du ha :bire

Web-TorMedlem sedan nov. 200013 890 inlägg
#17

Vassego.
Det var inte speciellt svårt eftersom lösningen fanns lite längre upp i den här tråden: ;)
http://www.webforum.nu/showthread.php?p=950781#post950781

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#18

Ett måste när man har checkboxar:

<input type="checkbox" id="foo" onclick="dis_select(this.checked)" /> <label for="foo">Disable/Enable</label>

Även om jag har mitt CS-aim så blir jag alltid irriterad när jag måste sikta in mig på en lite fjuttig kryssruta.
I stort sett alla desktop-applikationer så kan man klicka på texten för att kryssa i en checkbox. Dumt att skilja sig från det gränssnittet.

mattiasnordinMedlem sedan maj 20012 080 inlägg
#19

Intressant. Det där har jag letat efter. Tackar för informationen Erik!

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)