2011-05-09 21 views
1

我正在盡我所能使這有意義,但基本上我有一個文本輸入,當用戶鍵入內容並按下回車鍵時,jQuery搜索XML文檔以查找匹配項,並輸出其內容。當你第一次嘗試時,它完美地工作,但奇怪的是,它每隔一段時間才能正常工作。所以,在第一次嘗試時,它會輸出正確的文本,第二次,它會像沒有找到匹配一樣(即使它應該),並在第三次,它再次工作。這種模式重複。我不知道從哪裏開始解決這個問題,所以有人有什麼想法嗎?這裏是我的代碼:爲什麼我的jQuery代碼每隔一段時間只提交一次Ajax請求?

包含從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元素,以及「#helpopen DIV DIV」是「#openresult」的父母。

+0

任何機會,您可以發佈一個鏈接的網頁與此代碼? – 2011-05-09 01:46:28

+0

@David這裏是鏈接:[link](http://www.knowyourmactuts.com/)。只需點擊頂部的「我怎麼打開...」按鈕。 – 2011-05-09 21:14:03

+0

還有一件事,對於XML,您可以輸入迄今添加的任何文件類型,請嘗試「doc」,「png」或「jpg」。 – 2011-05-09 21:16:16

回答

0

爲了保持幻燈片動畫,使用:的

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

代替:

$("#openresult").slideUp(function() { $(this).remove(); }); 
0

原來,它得到了正確的結果,但它會卡住顯示:無。我剛剛刪除了滑動動畫,它工作正常。

相關問題