Почему этот код jquery не работает в ie6? - PullRequest
1 голос
/ 04 ноября 2010

У меня есть некоторый код 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>

вот мой JavaScript:

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

Во-первых, кто-нибудь знает, почему этот код выше не будет работать в ie6, но будет хорошо во всех других браузерах?

Во-вторых, как я могу это отладить, так как кажется, что это проблема только в ie6 (нужен эквивалент firebug, чтобы увидеть, что происходит)

Ответы [ 3 ]

2 голосов
/ 04 ноября 2010

IE некорректно отображает событие 'change', поэтому вы не можете использовать live ('change').

Вместо этого привязывайте свое поведение к событию изменения во время загрузки:

$(document).ready(function(){

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

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

0 голосов
/ 04 ноября 2010

Вы можете использовать панель инструментов разработчика IE: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535

0 голосов
/ 04 ноября 2010

Вы можете использовать Firebug Lite. Это позволяет вам использовать облегченную версию Firebug, где вы не можете использовать полное расширение.

http://getfirebug.com/firebuglite

Все, что вам нужно сделать, чтобы использовать Firebug Lite, это добавить следующий внешний скрипт:

<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...