我想更改此菜单,以便如果我选择第二个报告1显示菜单,说明是否有type1,否则转到写入about1的第三个菜单。在所有四个菜单中。我认为最好的方法是PHP但不懂语言。
HTML:
<form name="classic">
<select style="width: 20%">
<option value="0"></option>
<option value="2">report1</option>
<option value="2">report2</option>
<option value="2">report3</option>
<option value="2">report4</option>
</select>
<br /><br />
<select style="width: 20%">
<option value="0"></option>
<option value="2">tipo1</option>
<option value="2">tipo2</option>
<option value="2">tipo3</option>
<option value="2">tipo4</option>
</select>
<br /><br />
<select style="width: 20%">
<option value="0"></option>
<option value="4">about1</option>
<option value="4">about2</option>
<option value="4">about3</option>
<option value="4">about4</option>
</select>
<br /><br />
<select style="width: 20%">
<option value="0"></option>
<option value="4">periodo1</option>
<option value="4">periodo2</option>
<option value="4">periodo3</option>
<option value="4">periodo4</option>
</select>
<br /><br />
</form>
这是javascript的一部分
<script language="JavaScript">
var tiporeportlist=document.classic.tiporeport
var reportlist=document.classic.report
var report=new Array()
report[0]=["report1"]
report[1]=["report2"]
report[2]=["report3"]
report[3]=["report4"]
var tipo=new Array()
tipo[0]=["tipo1"]
tipo[1]=["tipo2"]
tipo[2]=["tipo3"]
tipo[3]=["tipo4"]
var banca=new Array()
about[0]=["about1"]
about[1]=["about2"]
about[2]=["about3"]
about[3]=["about4"]
var periodo=new Array()
periodo[0]=["periodo1"]
periodo[1]=["periodo2"]
periodo[2]=["periodo3"]
periodo[3]=["periodo4"]
function getSelected(select) {
return select.options[select.selectedIndex].value;
}
function getElement(id) {
return document.getElementById(id);
}
function popolaSelect(select,opt) {
switch (opt) {
case '1':
var arr = report;
break;
case '2':
var arr = tipo;
break;
case '3':
var arr = about;
break;
case '4':
var arr = periodo;
break;
default:
return;
break;
}
select.options.length = 1;
for(var i=0; i<arr.length; i++) {
select.options[select.options.length] = new Option(arr[i],i);
}
}
</script>
答案 0 :(得分:1)
使用PHP无法动态更改选项。每次都应该刷新页面,并且值应该通过GET或POST参数或cookie传递。
更简单的实现方法是使用如下的javascript。它应该可以在Internet Explorer上运行,没有任何问题。虽然没有测试过。
<强> HTML:强>
<form name="classic">
<select style="width: 20%" id="s1" onchange="choose('s2',this)">
<option value="0"></option>
<option value="2">report1</option>
<option value="2">report2</option>
<option value="2">report3</option>
<option value="2">report4</option>
</select>
<br /><br />
<select style="width: 20%" id="s2" onchange="choose('s3',this)">
<option value="0"></option>
<option value="2">tipo1</option>
<option value="2">tipo2</option>
<option value="2">tipo3</option>
<option value="2">tipo4</option>
</select>
<br /><br />
<select style="width: 20%" id="s3" onchange="choose('s4',this)">
<option value="0"></option>
<option value="4">about1</option>
<option value="4">about2</option>
<option value="4">about3</option>
<option value="4">about4</option>
</select>
<br /><br />
<select style="width: 20%" id="s4">
<option value="0"></option>
<option value="4">periodo1</option>
<option value="4">periodo2</option>
<option value="4">periodo3</option>
<option value="4">periodo4</option>
</select>
<br /><br />
<强>使用Javascript:强>
function choose(target,option)
{
var val = option.options[option.selectedIndex].text;
document.getElementById(target).options[0].innerHTML = val;
}
答案 1 :(得分:0)
你可以使用php,但是没有javascript和/或ajax,页面每次都需要刷新。
因此,最好使用javascript。 我建议你看看jquery并尝试一下。