2012-01-22 77 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> 
...