我是一個新手在JavaScript和我真的aprecciate如何我可以做到這一點的任何想法...如何根據其他選擇的選擇框選項來隱藏/顯示選擇框?
我有一個選擇框。根據我選擇的選項,應該是其中一個「不可見」的其他選擇框變得可見。
我不想使用jquery,因爲我仍然是js中的新手。
對不起,我的英語:P
我會放一些代碼給出的例子:
<select id="tipos_evento">
<option value="">choose an option to see the corresponding select box</option>
<option value="tipoe01">option_one</option>
<option value="tipoe02">option_two</option>
<option value="tipoe03">ssss</option>
<option value="tipoe04">ddd</option>
</select>
<select id="option_one">
<option value="">ss</option>
<option value="c">Cffs</option>
<option value="d">s</option>
<option value="tipoe03">ssss</option>
<option value="tipoe04">ddd</option>
</select>
<select id="option_two">
<option value="">ss</option>
<option value="c">Cffs</option>
<option value="d">s</option>
<option value="tipoe03">ssss</option>
<option value="tipoe04">ddd</option>
</select>
但我覺得對我的挑戰是要表明,我選用了一個隱藏其他的... 感謝ü的答覆
我一直在試圖找出賈斯汀·約翰遜的功能,但它沒有工作的Internet Explorer 7和8
我會發布可以幫助我的任何人的代碼。 我改變了style.display = "none"; for
style.cssText ='display:none';
但只有當頁面加載時才起作用。現在,當我改變選擇框時,沒有任何反應。
下面是代碼(它的大,我將與循環優化的時候,這個工程):
var attachEvento = function(node, event, listener, useCapture) {
// Method for FF, Opera, Chrome, Safari
if (window.addEventListener) {
node.addEventListener(event, listener, useCapture || false);
}
// IE has its own method
else {
node.attachEvent('on'+event, listener);
}
};
// Once the window loads and the DOM is ready, attach the event to the main
attachEvento(window, "load", function() {
var main_select = document.getElementById("tipos_evento");
var option1 = document.getElementById("temas_conferencias"),
option2 = document.getElementById("temas_cursos"),
option3 = document.getElementById("temas_provas"),
option4 = document.getElementById("temas_visitas"),
option5 = document.getElementById("temas_ciencias"),
option6 = document.getElementById("temas_dancas"),
option7 = document.getElementById("temas_exposicoes"),
option8 = document.getElementById("temas_multi"),
option9 = document.getElementById("temas_musica"),
option10 = document.getElementById("temas_teatro"),
option11 = document.getElementById("temas_cultura"),
option12 = document.getElementById("temas_desporto"),
option13 = document.getElementById("temas_todos");
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: block';
var selectHandler = function() {
// Show and hide the appropriate select's
switch(this.value) {
case "8":
// Conferências/colóquios
option1.style.display = "";
option2.style.display = "none";
option3.style.display = "none";
option4.style.display = "none";
option5.style.display = "none";
option6.style.display = "none";
option7.style.display = "none";
option8.style.display = "none";
option9.style.display = "none";
option10.style.display = "none";
option11.style.display = "none";
option12.style.display = "none";
option13.style.display = "none";
break;
case "10":
// Cursos/workshops
option1.style.cssText='display: none';
option2.style.cssText='display: block';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "7":
// provas
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: block';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "9":
// visitas/observações
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: block';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "12":
// ciencia
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: block';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "2":
// danças
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: block';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "1":
// exposiçoes
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: block';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "3":
// multi
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: block';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "4":
// musica
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: block';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "5":
// teatro
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: block';
option11.style.cssText='display: none';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "6":
// Cultura(outros)
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: block';
option12.style.cssText='display: none';
option13.style.cssText='display: none';
break;
case "48":
// Desporto
option1.style.cssText='display: none';
option12.style.cssText='display: block';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option13.style.cssText='display: none';
break;
default:
// Hide all
option1.style.cssText='display: none';
option2.style.cssText='display: none';
option3.style.cssText='display: none';
option4.style.cssText='display: none';
option5.style.cssText='display: none';
option6.style.cssText='display: none';
option7.style.cssText='display: none';
option8.style.cssText='display: none';
option9.style.cssText='display: none';
option10.style.cssText='display: none';
option11.style.cssText='display: none';
option13.style.cssText='display: block';
}
};
// Use the onchange and onkeypress events to detect when the
// value of main_select has changed
attachEvento(main_select, "change", selectHandler);
attachEvento(main_select, "keypress", selectHandler);
});
請包括一些代碼,以便更精確 – 2009-08-06 17:14:19
嘿,隊友,你的元素ID不能有「/」。另外,我從來沒有這樣做過,所以我不能肯定地說,購買你可能會在ID中使用重音字符時遇到一些問題。任何人都可以評論這個嗎? – 2009-08-06 17:37:24
謝謝你我只是插入一些複製/粘貼文本..賈斯汀..在現實中我沒有使用:) – dutraveller 2009-08-06 17:37:50