2012-01-22 74 views
1

我這一小段代碼:在JsBin 爲什麼不工作這個網站

<link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script> 
<meta charset=utf-8 /> 
<title>JS Bin</title> 

<script type="text/javascript"> 
    $("#term").autocomplete({ 
     source: function(request, response) { 
     $.ajax({ 
      url: 'http://query.yahooapis.com/v1/public/yql', 
      dataType: 'JSONP', 
      data: { 
      format: 'json', 
      q: 'select * from xml where url="http://google.com/complete/search?output=toolbar&q=' + encodeURIComponent(request.term) + '"' 
      }, 
      success: function(data) { 
      response($.map(data.query.results.toplevel.CompleteSuggestion, function(item) { 
       return { label: item.suggestion.data, value: item.suggestion.data }; 
      })); 
      } 
     }); 
     } 
    }); 
</script> 

</head> 

<body> 

    <label for="term">Search term: </label> 
    <input id="term" /> 

</body> 
</html> 

據工作好的在線:JsBin preview

但是當我複製代碼到桌面上,以便我能與它一起工作它不起作用(它曾經工作但是)我做錯了什麼?爲什麼這不工作,除了在線?

+0

我能想到的唯一原因是包裹js代碼的'ready'處理程序中,比如'$(文件)。就緒(函數(){//你的代碼在這裏});' –

+0

有無您在控制檯中查找錯誤? – adeneo

+0

@john,你是對的謝謝:) – Youss

回答

4

嘗試包裹準備處理程序中的JavaScript代碼,jsbin會自動完成

$(document).ready(function(){ 

//your code here 
}); 

或短切

$(function(){ 

//your code here 
}); 

一旦DOM完成加載此西港島線執行腳本,或作爲一個替代方案,您可以將JavaScript放在文檔的末尾,以便在DOM加載時執行它

2

您指的是i之前的輸入元素t已創建。在DOM元素設置完成後執行自動完成初始化。

... 
<script type="text/javascript"> 
    $(function() { 
     $("#term").autocomplete({ 
      source: function(request, response) { 
       $.ajax({ 
        url: 'http://query.yahooapis.com/v1/public/yql', 
        dataType: 'JSONP', 
        data: { 
         format: 'json', 
         q: 'select * from xml where url="http://google.com/complete/search?output=toolbar&q=' + encodeURIComponent(request.term) + '"' 
        }, 
        success: function(data) { 
         response($.map(data.query.results.toplevel.CompleteSuggestion, function(item) { 
          return { 
           label: item.suggestion.data, 
           value: item.suggestion.data 
          }; 
         })); 
        } 
       }); 
      } 
     }); 
    }); 
</script> 
...