document.all火狐似乎不支持这个

解决方案 »

  1.   

    document.all.menu.options[index].text
    改为document.all['menu'].options[index].text
      

  2.   

    document.all.menu.options[index].text 
    改为document.all['menu'][0].options[index].text
      

  3.   

    和下拉事件无关.
    function selectItem() 

        alert('d');
    }
    在两种浏览器上都可以执行.楼主分析问题,要学会使用排除法.
    这样才能更快的找到问题所在.另外不知道楼主的用意,两边的代码似乎不配对.
      

  4.   

    昨天仓促发帖,问题不详,见谅;以下是整理后的代码:
    <!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>
      

  5.   

    document.all.menu.options[index].text
    改为document.all['menu'][0].options[index].text可以考虑用框架 比如jquery  没有这么麻烦
      

  6.   

    修改好了!楼主尽量不要用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>