2017-04-22 95 views
-1

我正在嘗試爲我的數據庫創建實時搜索頁面,並且遇到問題。我的jQuery/Ajax似乎沒有工作。我的編譯器告訴我在我的文檔行中「$沒有定義」,但是我定義了jQuery並使用$(document).ready(function()調用。任何人都可以闡明什麼似乎是問題?我在這裏搜索了一下,但是找不到解決辦法。

下面是一些代碼片斷和我所看到的截圖。看起來像查詢工作正常,檢測結果,但jQuery是不顯示的結果直播,因爲它應該是

的jQuery:

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('.search-box input[type="text"]').on("keyup input", function(){ 
     /* Get input value on change */ 
     var inputVal = $(this).val(); 
     var resultDropdown = $(this).siblings(".result"); 
     if(inputVal.length){ 
      $.get("backend-search.php", {term: inputVal}).done(function(data){ 
       // Display the returned data in browser 
       resultDropdown.html(data); 
      }); 
     } else{ 
      resultDropdown.empty(); 
     } 
    }); 

    // Set search input value on click of result item 
    $(document).on("click", ".result p", function(){ 
     $(this).parents(".search-box").find('input[type="text"]').val($(this).text()); 
     $(this).parent(".result").empty(); 
    }); 
}); 
</script> 
</head> 
<body> 
    <div class="search-box"> 
     <input type="text" autocomplete="off" placeholder="Search Books..." /> 
     <div class="result"></div> 
    </div> 
</body> 
</html> 

enter image description here

​​

在下面的圖片中,我試圖搜索包含標題「accounting」的條目。當我正確搜索時,它看起來像記錄出現,但沒有數據顯示。當我輸入不符合記錄的內容時,它正確顯示沒有結果。

任何和所有的幫助,非常感謝!

+0

第一個問題..你連接到互聯網。在測試這個..?時 – Confused

+0

你是說你的IDE代碼linter告訴你$未定義?與瀏覽器之間的巨大差異拋出該錯誤 – charlietfl

+0

嘗試將您的JS代碼放在'' – user3284463

回答

-1

$ is not defined意味着沒有加載jquery,請確保您將腳本src =「jquery」置於一切之上。 這裏是jQuery的:

+0

感謝。不過,我的腳本中有我的代碼中定義了Jquery。是否有另一個原因,爲什麼JQuery不會加載? –

+0

你開發者控制檯說了些什麼嗎?檢查元素 - >控制檯 – getl0st

-1

也許你背後的一些代理,阻止訪問jQuery的CDN。如果你在瀏覽器中訪問https://code.jquery.com/jquery-1.12.4.min.js,你會看到jQuery代碼或者你有錯誤嗎?

如果是這種情況,我建議使用替代CDN或在其他地方獲取庫並在本地提供服務。

+0

OP已在註釋中確認錯誤在IDE LINTER中,而不是瀏覽器 – charlietfl