Почему мой код jQuery отправляет только запрос Ajax через раз? - PullRequest
1 голос
/ 09 мая 2011

Я стараюсь изо всех сил, чтобы это имело смысл, но в основном у меня есть ввод текста, и когда пользователь что-то вводит и нажимает клавишу ввода, jQuery просматривает документ XML, чтобы найти совпадение, и выводит егосодержание.Он отлично работает, когда вы впервые попробуете его, но, как ни странно, он работает правильно только через раз.Таким образом, с первой попытки он выведет правильный текст, со второй он будет действовать так, как если бы он не нашел соответствия (даже если должен), а с третьей - снова работает.Этот шаблон повторяется.Я понятия не имею, с чего начать, а у кого-нибудь есть идеи?Вот мой код:

$("#helpopen input").bind('keypress', function(e) {
if (e.keyCode==13) {
    var typed = $("#helpopen input").val();
    $("#openresult").slideUp(function() { $(this).remove(); });
    $("#aniloa").show().animate({ opacity: 1 });

    $.get('/wp-content/themes/kymt/style/js/filetypes.xml', function(d) {
        $(d).find('ext').each(function() {

            var $ext = $(this);
            var curext = $ext.attr("type");
            var curtext = $ext.text();

            if (typed == curext) {
                $("#helpopen div div").append("<p id='openresult' style='display:none'><strong>A ."+typed+" file...</strong><br />"+curtext+"</p>");
                $("#openresult").slideDown();
                return false;
            }

        });
    });

    $("#aniloa").animate({ opacity: 0 }, function() { $(this).hide(); })
}
});

«# aniloa» относится к простому gif, указывающему на загрузку, «#openresult» - это элемент ap, содержащий выводимый текст из документа XML, и «#helpopen div div»является родителем "#openresult."

Ответы [ 2 ]

0 голосов
/ 10 мая 2011

Чтобы сохранить анимацию слайда, используйте:

$("#openresult").slideUp();

вместо:

$("#openresult").slideUp(function() { $(this).remove(); });
0 голосов
/ 10 мая 2011

Оказывается, что он получал правильный результат, но он застрял бы с дисплеем: нет. Я только что удалил скользящую анимацию, и она отлично работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...