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
18 svar · 833 visningar · startad av mattiasnordin
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
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>
Ändra
document.form1.singleselect.disabled = changestate;
till
document.form1.singleselect.disabled = !changestate;
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å... ;)
Super :)
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 ?
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>
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")%>) <%=rsSelect("lank_namn")%></option>
<% else %>
<option value="<%=rsSelect("id")%>"><%=rsSelect("huvud_meny_id")%>) <%=rsSelect("lank_namn")%></option>
<% end if %>
<% rsSelect.movenext
wend %>
</select>
:OO
<body onload="dis_select(document.getElementById('chk').checked);">
...
<input type="checkbox" onclick="dis_select(this.checked)" [b]id="chk"[/b]/> Disable/Enable
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.
Superb. Tack för beskrivningen. :)
Vahzegoh! :)
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!
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>
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.
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
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
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.
Intressant. Det där har jag letat efter. Tackar för informationen Erik!