下拉的事件不支持火狐??? document.all火狐似乎不支持这个 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 document.all.menu.options[index].text改为document.all['menu'].options[index].text document.all.menu.options[index].text 改为document.all['menu'][0].options[index].text 和下拉事件无关.function selectItem() { alert('d');}在两种浏览器上都可以执行.楼主分析问题,要学会使用排除法.这样才能更快的找到问题所在.另外不知道楼主的用意,两边的代码似乎不配对. 昨天仓促发帖,问题不详,见谅;以下是整理后的代码:<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head> <title>下拉控制选项是否显示</title> <script type="text/jscript" language="javascript"> function selectItem(index,str) { var tbItem = document.all.menu.options[index]; // tbItem 获取td下拉对象。 var opt = document.getElementById (tbItem.value); // opt 获取下拉选框择的值。 var i = document.getElementById ('i'); // i 获取i值,i记录显示的输入框个数 if(str.slice(-4)=='--隐藏') { document.all.menu.options[index].text=document.all.menu.options[index].text.replace('--隐藏',''); opt.style.display='none'; i.value = parseInt(i.value) - 1 ; tbItem.style.color = 'black'; } else { document.all.menu.options[index].text += '--隐藏'; opt.style.display='block'; i.value = parseInt(i.value) + 1 ; tbItem.style.color = '#666666' } //下拉回到第一项 document.all.menu.options.selectedIndex = document.all.menu.options[0]; } </script> </head><body> <select name="menu" onchange="selectItem(this.options.selectedIndex, this.options[this.options.selectedIndex].text)"> <option value = 'main'>--请选择查询条件--</option> <option value = 'project'>招标项目名称</option> <option value = 'projectType'>项目类别</option> <option value = 'projectMenu'>项目情况</option> <option value = 'company'>业主单位</option> <option value = 'bidCompany'>招标单位</option> <option value = 'person'>联系人</option> <option value = 'datetime'>招标时间</option> <option value = 'technique'>招标技术及分包</option> </select> <table cellpadding="0" cellspacing="0" width="555"border="1"> <tr> <td id="item"> <input name="project" type="text" value="aaa" /> <input name="projectType" type="text" value="bbb" style="display:none"/> <input name="projectMenu" type="text" value="ccc" style="display:none"/> <input name="company" type="text" value="ddd" style="display:none"/> <input name="bidCompany" type="text" value="eee" style="display:none"/> <input name="person" type="text" value="fff" style="display:none"/> <input name="datetime" type="text" value="ggg" style="display:none"/> <input name="technique" type="text" value="hhh" style="display:none"/> </td> <td style="height: 19px"> <input id="i" type="text" value="1" /> <!-- 值用来存贮、计算输入框显示的个数 --> </td> </tr> </table></body></html> document.all.menu.options[index].text改为document.all['menu'][0].options[index].text可以考虑用框架 比如jquery 没有这么麻烦 修改好了!楼主尽量不要用document.all这种方式!并且,用<script type="text/javascript"> 而不是<script type="text/jscript" language="javascript"> ,FF不认这个!<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head> <title>下拉控制选项是否显示</title> <script type="text/javascript"> function selectItem(index,str) { var tbItem = document.getElementById("menu").options[index]; // tbItem 获取td下拉对象。 var opt = document.getElementById(tbItem.value); // opt 获取下拉选框择的值。 var i = document.getElementById('i'); // i 获取i值,i记录显示的输入框个数 if(str.slice(-4)=='--隐藏') { document.getElementById("menu").options[index].text=document.getElementById("menu").options[index].text.replace('--隐藏',''); opt.style.display='none'; i.value = parseInt(i.value) - 1 ; tbItem.style.color = 'black'; } else { document.getElementById("menu").options[index].text += '--隐藏'; opt.style.display='block'; i.value = parseInt(i.value) + 1 ; tbItem.style.color = '#666666' } //下拉回到第一项 document.getElementById("menu").selectedIndex = document.getElementById("menu").options[0]; } </script> </head><body> <select id="menu" name="menu" onchange="selectItem(this.selectedIndex, this.options[this.selectedIndex].text)"> <option value = 'main'>--请选择查询条件--</option> <option value = 'project'>招标项目名称</option> <option value = 'projectType'>项目类别</option> <option value = 'projectMenu'>项目情况</option> <option value = 'company'>业主单位</option> <option value = 'bidCompany'>招标单位</option> <option value = 'person'>联系人</option> <option value = 'datetime'>招标时间</option> <option value = 'technique'>招标技术及分包</option> </select> <table cellpadding="0" cellspacing="0" width="555"border="1"> <tr> <td id="item"> <input id="project" type="text" value="aaa" /> <input id="projectType" type="text" value="bbb" style="display:none"/> <input id="projectMenu" type="text" value="ccc" style="display:none"/> <input id="company" type="text" value="ddd" style="display:none"/> <input id="bidCompany" type="text" value="eee" style="display:none"/> <input id="person" type="text" value="fff" style="display:none"/> <input id="datetime" type="text" value="ggg" style="display:none"/> <input id="technique" type="text" value="hhh" style="display:none"/> </td> <td style="height: 19px"> <input id="i" type="text" value="1" /> <!-- 值用来存贮、计算输入框显示的个数 --> </td> </tr> </table></body></html> 后台自动添加用户名和密码 求JS大牛给个翻屏代码 关于scrollIntoView()的作用?? windows.load不起作用 急~JS在火狐下不能运行。简单的一个函数如何解决呢。 求助:关闭showModalDialog窗体,重新加载父窗体,而不是刷新父窗体?? 为何 document.write放在不同的位置 效果就不一样 有代码比较 如何用js获取来源url地址 关于<object>标签的问题 结构体在jscript中怎么表达呢?结构体数组呢? 急求 用js或ajax写一个"发表评论"的程序 层随滚动条的滚动问题
改为document.all['menu'].options[index].text
改为document.all['menu'][0].options[index].text
function selectItem()
{
alert('d');
}
在两种浏览器上都可以执行.楼主分析问题,要学会使用排除法.
这样才能更快的找到问题所在.另外不知道楼主的用意,两边的代码似乎不配对.
<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>下拉控制选项是否显示</title>
<script type="text/jscript" language="javascript">
function selectItem(index,str)
{
var tbItem = document.all.menu.options[index]; // tbItem 获取td下拉对象。
var opt = document.getElementById (tbItem.value); // opt 获取下拉选框择的值。
var i = document.getElementById ('i'); // i 获取i值,i记录显示的输入框个数
if(str.slice(-4)=='--隐藏')
{
document.all.menu.options[index].text=document.all.menu.options[index].text.replace('--隐藏','');
opt.style.display='none';
i.value = parseInt(i.value) - 1 ;
tbItem.style.color = 'black';
}
else
{
document.all.menu.options[index].text += '--隐藏';
opt.style.display='block';
i.value = parseInt(i.value) + 1 ;
tbItem.style.color = '#666666'
}
//下拉回到第一项
document.all.menu.options.selectedIndex = document.all.menu.options[0];
}
</script>
</head>
<body>
<select name="menu" onchange="selectItem(this.options.selectedIndex, this.options[this.options.selectedIndex].text)">
<option value = 'main'>--请选择查询条件--</option>
<option value = 'project'>招标项目名称</option>
<option value = 'projectType'>项目类别</option>
<option value = 'projectMenu'>项目情况</option>
<option value = 'company'>业主单位</option>
<option value = 'bidCompany'>招标单位</option>
<option value = 'person'>联系人</option>
<option value = 'datetime'>招标时间</option>
<option value = 'technique'>招标技术及分包</option>
</select>
<table cellpadding="0" cellspacing="0" width="555"border="1">
<tr>
<td id="item">
<input name="project" type="text" value="aaa" />
<input name="projectType" type="text" value="bbb" style="display:none"/>
<input name="projectMenu" type="text" value="ccc" style="display:none"/>
<input name="company" type="text" value="ddd" style="display:none"/>
<input name="bidCompany" type="text" value="eee" style="display:none"/>
<input name="person" type="text" value="fff" style="display:none"/>
<input name="datetime" type="text" value="ggg" style="display:none"/>
<input name="technique" type="text" value="hhh" style="display:none"/>
</td>
<td style="height: 19px">
<input id="i" type="text" value="1" /> <!-- 值用来存贮、计算输入框显示的个数 -->
</td>
</tr>
</table>
</body>
</html>
改为document.all['menu'][0].options[index].text可以考虑用框架 比如jquery 没有这么麻烦
并且,用<script type="text/javascript"> 而不是<script type="text/jscript" language="javascript"> ,FF不认这个!<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>下拉控制选项是否显示</title>
<script type="text/javascript">
function selectItem(index,str)
{
var tbItem = document.getElementById("menu").options[index]; // tbItem 获取td下拉对象。
var opt = document.getElementById(tbItem.value); // opt 获取下拉选框择的值。
var i = document.getElementById('i'); // i 获取i值,i记录显示的输入框个数
if(str.slice(-4)=='--隐藏')
{
document.getElementById("menu").options[index].text=document.getElementById("menu").options[index].text.replace('--隐藏','');
opt.style.display='none';
i.value = parseInt(i.value) - 1 ;
tbItem.style.color = 'black';
}
else
{
document.getElementById("menu").options[index].text += '--隐藏';
opt.style.display='block';
i.value = parseInt(i.value) + 1 ;
tbItem.style.color = '#666666'
}
//下拉回到第一项
document.getElementById("menu").selectedIndex = document.getElementById("menu").options[0];
}
</script>
</head>
<body>
<select id="menu" name="menu" onchange="selectItem(this.selectedIndex, this.options[this.selectedIndex].text)">
<option value = 'main'>--请选择查询条件--</option>
<option value = 'project'>招标项目名称</option>
<option value = 'projectType'>项目类别</option>
<option value = 'projectMenu'>项目情况</option>
<option value = 'company'>业主单位</option>
<option value = 'bidCompany'>招标单位</option>
<option value = 'person'>联系人</option>
<option value = 'datetime'>招标时间</option>
<option value = 'technique'>招标技术及分包</option>
</select>
<table cellpadding="0" cellspacing="0" width="555"border="1">
<tr>
<td id="item">
<input id="project" type="text" value="aaa" />
<input id="projectType" type="text" value="bbb" style="display:none"/>
<input id="projectMenu" type="text" value="ccc" style="display:none"/>
<input id="company" type="text" value="ddd" style="display:none"/>
<input id="bidCompany" type="text" value="eee" style="display:none"/>
<input id="person" type="text" value="fff" style="display:none"/>
<input id="datetime" type="text" value="ggg" style="display:none"/>
<input id="technique" type="text" value="hhh" style="display:none"/>
</td>
<td style="height: 19px">
<input id="i" type="text" value="1" /> <!-- 值用来存贮、计算输入框显示的个数 -->
</td>
</tr>
</table>
</body>
</html>