2010-07-07 4 views
0

Есть 2 переключателя. В зависимости от того, на который вы нажимаете, выпадающее поле будет загружать этот набор данных. В зависимости от первого я нажимаю, что нагрузка занимает 1-2 секунды, а другая - мгновенно. Даже щелкайте назад и вперед. Мне было интересно, почему и как я могу заставить его немедленно прекратить загрузку (странно, я знаю).Вызов Ajax при нажатии переключателя иногда чередуется между моментальным приемом ~ 2 с

$('#rblGenre').change(function() { 
    $('#ddlSpecificGenre').attr('disabled','disabled').html('<option>Loading...</option>') 
    var genre = $(this + ':checked').val(); 

    $.ajax({ 
     type: 'GET', 
     url: '../bookGenres.xml', 
     dataType: 'xml', 
     success: function(xml) { 
      var xmlGenre = $(xml).find(genre); 
      $('#ddlSpecificGenre').removeAttr('disabled').children().remove(); 
      xmlGenre.children().each(function() { 
       $('#ddlSpecificGenre').append('<option>' + $(this).text() + '</option>'); 
      }); 
     } 
    }); 
}); 

<asp:RadioButtonList ID='rblGenre' runat='server'> 
    <asp:ListItem Text='Fiction' Value='Fiction'></asp:ListItem> 
    <asp:ListItem Text='Non-Fiction' Value='Non-Fiction'></asp:ListItem> 
</asp:RadioButtonList> 

<asp:DropDownList ID='ddlSpecificGenre' runat='server' Enabled='false'> 
    <asp:ListItem Text='Choose a Genre' Selected='True'></asp:ListItem> 
</asp:DropDownList> 

ответ

0

Звуки для меня, как ваш ответ становится кэшируются. Если вы хотите отключить кеширование с помощью jQuery, добавьте «cache: false» в список параметров вашего вызова «ajax».

Таким образом, ваш вызов функции станут:

$.ajax({ 
    type: 'GET', 
    url: '../bookGenres.xml', 
    dataType: 'xml', 
    cache: false, 
    success: function(xml) { 
     var xmlGenre = $(xml).find(genre); 
     $('#ddlSpecificGenre').removeAttr('disabled').children().remove(); 
     xmlGenre.children().each(function() { 
      $('#ddlSpecificGenre').append('<option>' + $(this).text() + '</option>'); 
     }); 
    } 
}); 
+0

Добавив, что не похоже, чтобы изменить поведение. – Justen

 Смежные вопросы

  • Нет связанных вопросов^_^