代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

为什么这个jquery代码不能在ie6中工作?

  •  1
  • leora Matt Lacey  · 技术社区  · 14 年前

    我这里有一些jquery代码,在firefox中工作得很好,但是当我在ie6中测试时,我根本看不到它工作(div没有显示)。

    这是我的html

     <b>Calendar:</b> <select name="CalendarId" id="calendar_list">
     <option value="1">Vacation</option><option value="2">Internal Travel</option>
     <option value="13">ER</option><option value="33">PMO Calendar</option>
     </select>
    
     <span style="display: none;" id="calendarlabel"></span>
    
        <hr>
    
        <div id="location" style="display: none;">
        <label>Travelling to:</label> <select id="location_list" name="TechnicalCentreId">    
     <option></option>
     <option value="1">Bangalore</option>
     <option value="2">Chennai</option>
     </select>
        </div>
    

     $('#calendar_list').live('change', function () {
        var calendarId = $(this).val();
        if (calendarId == 2) {
            $("#location").show();
        }
        else {
            $("#location").hide();
        }
    });
    

    首先,有人知道为什么上面的代码在ie6中不起作用,但在其他浏览器中都很好吗?

    其次,我如何调试它,因为这似乎只是ie6中的一个问题(需要firebug来查看发生了什么)

    3 回复  |  直到 14 年前
        1
  •  2
  •   hybernaut    14 年前

    IE没有正确地标记“更改”事件,因此您不能使用live(“更改”)。

    $(document).ready(function(){
    
     $('#calendar_list').change(function () {
     ...
     });
    });
    

    http://api.jquery.com/live/

        2
  •  0
  •   Rebecca Chernoff    14 年前

    你可以使用Firebug Lite。它允许您使用Firebug的lite版本,而不能使用完整的扩展。

    http://getfirebug.com/firebuglite

    使用Firebug Lite只需添加以下外部脚本:

    <script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>