22. september 2005 - 22:41
Der er
15 kommentarer og 1 løsning
problemer med onchange
hej jeg har følgende spørgsmål. jeg kan ikke få denne til at skifte når jeg vælger en ting i dropdown. <script type="text/javascript"> function showSelect(sel){ var x = 1; while(sel.form.elements["extra[nummer]" + x]){ sel.form.elements["extra[nummer]" + x].style.display = 'none'; x++; } if(sel.form.elements["extra[nummer]" + sel.value]) sel.form.elements["extra[nummer]" + sel.value].style.display = 'inline'; } </script> <tr> <td align="center" class="normal"> <select name="id" onchange="showSelect(this);"> <option value="0">Vælg Alm. Guld, eller nummerportering</option> <option value="14">Guld numre</option> <option value="15">Almindelige numre</option> <option value="16">Nummerportering</option> </select><br /> <select id="extra[nummer]14" name="extra[nummer]" style="display:none;" > <option value="46595080">46595080</option> <option value="46975020">46975020</option> <option value="46975022">46975022</option> <option value="46975025">46975025</option> <option value="46975030">46975030</option> <option value="46975033">46975033</option> <option value="46975055">46975055</option> <option value="46975066">46975066</option> <option value="46975070">46975070</option> <option value="46975077">46975077</option> <option value="46975088">46975088</option> <option value="46975090">46975090</option> <option value="46975100">46975100</option> <option value="46975110">46975110</option> <option value="46975111">46975111</option> <option value="46975115">46975115</option> </select> <select id="extra[nummer]15" name="extra[nummer]" style="display:none;" > <option value="46595080">46595080</option> <option value="46975020">46975020</option> <option value="46975022">46975022</option> <option value="46975025">46975025</option> <option value="46975030">46975030</option> <option value="46975033">46975033</option> <option value="46975055">46975055</option> <option value="46975066">46975066</option> <option value="46975070">46975070</option> <option value="46975077">46975077</option> <option value="46975088">46975088</option> <option value="46975090">46975090</option> <option value="46975100">46975100</option> <option value="46975110">46975110</option> <option value="46975111">46975111</option> <option value="46975115">46975115</option> </select> <select id="extra[nummer]16" name="extra[nummer]" style="display:none;" > <option value="46595080">46595080</option> <option value="46975020">46975020</option> <option value="46975022">46975022</option> <option value="46975025">46975025</option> <option value="46975030">46975030</option> <option value="46975033">46975033</option> <option value="46975055">46975055</option> <option value="46975066">46975066</option> <option value="46975070">46975070</option> <option value="46975077">46975077</option> <option value="46975088">46975088</option> <option value="46975090">46975090</option> <option value="46975100">46975100</option> <option value="46975110">46975110</option> <option value="46975111">46975111</option> <option value="46975115">46975115</option> </select>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
23. september 2005 - 08:29
#1
uden at være helt sikker på hvad du mener, vil jeg gætte på at denne linie løser dit problem: <select name="id" onchange="for(i=0;i<this.options.length;i++) if(this.form.elements['extra[nummer]'+this.options[i].value]) this.form.elements['extra[nummer]'+this.options[i].value].style.display=(this.options[i].value==this.value)?'inline':'none';">
23. september 2005 - 10:02
#2
har prøvet at sætte den ind uden held. men det man skal kunne gøre er jo at kunne vælge kun 1 af de andre drop down bokse, sådan at hvis du vælger alm. så er det den med det rigtige extra[nummer]15 som bliver valgt osv. <select name="id" onchange="for(i=0;i<this.options.length;i++) if(this.form.elements['extra[nummer]'+this.options[i].value]) this.form.elements['extra[nummer]'+this.options[i].value].style.display=(this.options[i].value==this.value)?'inline':'none';"> <option value="0">Vælg Alm. Guld, eller nummerportering</option> <option value="14">Guld numre</option> <option value="15">Almindelige numre</option> <option value="16">Nummerportering</option> </select><br /> <select id="extra[nummer]14" name="extra[nummer]14" style="display:none;" > <option value="46595080">46595080</option> <option value="46975020">46975020</option> <option value="46975022">46975022</option> <option value="46975025">46975025</option> <option value="46975030">46975030</option> <option value="46975033">46975033</option> <option value="46975055">46975055</option> <option value="46975066">46975066</option> <option value="46975070">46975070</option> <option value="46975077">46975077</option> <option value="46975088">46975088</option> <option value="46975090">46975090</option> <option value="46975100">46975100</option> <option value="46975110">46975110</option> <option value="46975111">46975111</option> <option value="46975115">46975115</option> </select> <select id="extra[nummer]15" name="extra[nummer]15" style="display:none;" > <option value="46595080">46595080</option> <option value="46975020">46975020</option> <option value="46975022">46975022</option> <option value="46975025">46975025</option> <option value="46975030">46975030</option> <option value="46975033">46975033</option> <option value="46975055">46975055</option> <option value="46975066">46975066</option> <option value="46975070">46975070</option> <option value="46975077">46975077</option> <option value="46975088">46975088</option> <option value="46975090">46975090</option> <option value="46975100">46975100</option> <option value="46975110">46975110</option> <option value="46975111">46975111</option> <option value="46975115">46975115</option> </select> <select id="extra[nummer]16" name="extra[nummer]16" style="display:none;" > <option value="46595080">46595080</option> <option value="46975020">46975020</option> <option value="46975022">46975022</option> <option value="46975025">46975025</option> <option value="46975030">46975030</option> <option value="46975033">46975033</option> <option value="46975055">46975055</option> <option value="46975066">46975066</option> <option value="46975070">46975070</option> <option value="46975077">46975077</option> <option value="46975088">46975088</option> <option value="46975090">46975090</option> <option value="46975100">46975100</option> <option value="46975110">46975110</option> <option value="46975111">46975111</option> <option value="46975115">46975115</option> </select> Den nedereste select skal egentlig ikke være en select men en input.
23. september 2005 - 10:17
#3
har du <form>-tags omkring?
23. september 2005 - 10:29
#4
ØØØØh det snakker vi ikke lige om vel. Hvor vil du have pointene? hehe
23. september 2005 - 10:32
#5
svar ;-)
23. september 2005 - 10:32
#6
Hvad nu hvis jeg vil have at det ikke kune er en del af en selectbox eller en input box, men et helt område som eksempel: hvis den skal vise dette område Flyt nummer: <input id="extra[nummer]16" name="extra[nummer]16" style="display:none;" value="" size="10"> Da jeg jo gerne vil have den foreste tekst med ind.
23. september 2005 - 10:47
#7
tja, man kunne lægge alle input's og selects i div-tags eller man kunne vælge den lette måde: <input id="extra[nummer]16" name="extra[nummer]16" style="display:none;" value="Flyt nummer" size="10" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;">
23. september 2005 - 10:57
#8
hvordan gør jeg det lige med div tags?
23. september 2005 - 11:42
#9
<select name="id" onchange="for(i=0;i<this.options.length;i++) if(document.getElementById('div'+this.options[i].value]) document.getElementById('div'+this.options[i].value].style.display=(this.options[i].value==this.value)?'inline':'none';"> ... <div id="div16">Flyt nummer: <input id="extra[nummer]16" name="extra[nummer]16" style="display:none;" value="" size="10"></div>
23. september 2005 - 11:43
#10
og så skal style="display:none;" selvfølgelig flyttes ud på div-tagget
23. september 2005 - 12:13
#11
nu skifter den ikke men jeg kan ikke se forskellen, det er kun den første den vælger, men jeg må ved at være blind når jeg ikke kan se hvad der er galt. <select name="id" onchange="for(i=0;i<this.options.length;i++) if(this.form.elements['extra[nummer]'+this.options[i].value]) this.form.elements['extra[nummer]'+this.options[i].value].style.display=(this.options[i].value==this.value)?'inline':'none';"> <option value="0">Vælg Alm. Guld, eller nummerportering</option> <option value="14">Guld numre</option> <option value="15">Almindelige numre</option> <option value="16">Nummerportering</option> </select><br /> <select id="extra[nummer]14" name="extra[nummer]14" style="display:none;" > <option value="46595080">46595080</option> <option value="46975020">46975020</option> <option value="46975022">46975022</option> <option value="46975025">46975025</option> <option value="46975030">46975030</option> <option value="46975033">46975033</option> <option value="46975055">46975055</option> <option value="46975066">46975066</option> <option value="46975070">46975070</option> <option value="46975077">46975077</option> <option value="46975088">46975088</option> <option value="46975090">46975090</option> <option value="46975100">46975100</option> <option value="46975110">46975110</option> <option value="46975111">46975111</option> <option value="46975115">46975115</option> </select> <div id="extra[nummer]15" name="extra[nummer]15" style="display:none;"> <select id="extra[nummer]16" name="extra[nummer]15" > <option value="46975029">46975029</option> <option value="46975032">46975032</option> <option value="46975034">46975034</option> <option value="46975036">46975036</option> <option value="46975037">46975037</option> <option value="46975038">46975038</option> <option value="46975039">46975039</option> <option value="46975051">46975051</option> <option value="46975053">46975053</option> <option value="46975054">46975054</option> <option value="46975056">46975056</option> <option value="46975057">46975057</option> <option value="46975058">46975058</option> <option value="46975059">46975059</option> <option value="46975060">46975060</option> <option value="46975061">46975061</option> <option value="46975062">46975062</option> <option value="46975063">46975063</option> <option value="46975064">46975064</option> <option value="46975065">46975065</option> <option value="46975067">46975067</option> <option value="46975068">46975068</option> <option value="46975069">46975069</option> <option value="46975071">46975071</option> <option value="46975072">46975072</option> <option value="46975073">46975073</option> <option value="46975074">46975074</option> <option value="46975075">46975075</option> <option value="46975076">46975076</option> <option value="46975078">46975078</option> <option value="46975079">46975079</option> <option value="46975081">46975081</option> <option value="46975082">46975082</option> <option value="46975083">46975083</option> <option value="46975084">46975084</option> <option value="46975085">46975085</option> <option value="46975086">46975086</option> <option value="46975087">46975087</option> <option value="46975089">46975089</option> <option value="46975091">46975091</option> <option value="46975092">46975092</option> <option value="46975093">46975093</option> <option value="46975094">46975094</option> <option value="46975095">46975095</option> <option value="46975096">46975096</option> <option value="46975097">46975097</option> <option value="46975098">46975098</option> <option value="46975101">46975101</option> <option value="46975102">46975102</option> <option value="46975103">46975103</option> <option value="46975104">46975104</option> <option value="46975105">46975105</option> <option value="46975106">46975106</option> <option value="46975107">46975107</option> <option value="46975108">46975108</option> <option value="46975109">46975109</option> <option value="46975112">46975112</option> <option value="46975114">46975114</option> <option value="46975116">46975116</option> <option value="46975117">46975117</option> <option value="46975118">46975118</option> <option value="46975119">46975119</option> </select> </div> <div id="extra[nummer]16" style="display:none;"> Flyt nummer: <input name="extra[nummer]16" value="" size="10"> </div>
23. september 2005 - 12:16
#12
alle input/select der skal visis/skjules skal lægges i et div-tag med id'et svarende til den value der findes i den selct med onchange og så skal du rette din onchange til det jeg skrev i forrige indlæg
23. september 2005 - 12:26
#13
Hvad er det jeg overser?, virker ikke <select name="id" onchange="for(i=0;i<this.options.length;i++) if(document.getElementById('div'+this.options[i].value]) document.getElementById('div'+this.options[i].value].style.display=(this.options[i].value==this.value)?'inline':'none';"> <option value="0">Vælg Alm. Guld, eller nummerportering</option> <option value="extra[nummer]14">Guld numre</option> <option value="extra[nummer]15">Almindelige numre</option> <option value="extra[nummer]16">Nummerportering</option> </select><br /> <div id="extra[nummer]14" name="extra[nummer]14" style="display:none;"> <select id="extra[nummer]14" name="extra[nummer]14"> <option value="46595080">46595080</option> <option value="46975020">46975020</option> <option value="46975022">46975022</option> <option value="46975025">46975025</option> <option value="46975030">46975030</option> <option value="46975033">46975033</option> <option value="46975055">46975055</option> </select> </div> <div id="extra[nummer]15" name="extra[nummer]15" style="display:none;"> <select id="extra[nummer]16" name="extra[nummer]15" > <option value="46975029">46975029</option> <option value="46975032">46975032</option> <option value="46975034">46975034</option> <option value="46975036">46975036</option> <option value="46975037">46975037</option> <option value="46975038">46975038</option> </select> </div> <div id="extra[nummer]16" style="display:none;"> Flyt nummer: <input name="extra[nummer]16" value="" size="10"> </div>
23. september 2005 - 13:10
#14
div'erne skal have id="div14" id="div15" id="div15" ...
24. september 2005 - 23:38
#15
Har du ikke et form-tag kan du ikke bruge name-attributten, men så skulle et id ikke være et problem ... -- og jeg forstår slet ikke, at du har givet dine options i hoved-selecten værdier som extra[nummer]14, når hele scriptet er baseret på værdier som f.eks. er "14" ... -- og jeg forstår heller ikke, at du overhovedet benytter en javascript/php-array-notation, når du skriver html ?-)
25. september 2005 - 01:45
#16
dette er bare hvordan html ser ud når den er genereret. Men det er løst på anden måde nu og virker fint.
Vi tilbyder markedets bedste kurser inden for webudvikling