2011-02-01 5 views
1

オートコンプリートを動作させる方法について以前に質問しましたが、他にもいくつか問題があるようです。ここに私のヘッダーHTMLは次のとおりです。jQueryオートコンプリートの読み込み中に問題が発生しました。 TypeErrorを取得しています。また混乱している

TypeError: Result of expression '("#search_client").autocomplete' [undefined] is not a function. 

グーグル多くを起動しません:

<link rel="stylesheet" href="<?php echo base_url(); ?>extras/css/jquery/themes/base/jquery.ui.all.css"> 
<script src="<?php echo base_url(); ?>extras/js/jquery/jquery-1.5.min.js"></script> 
<script src="<?php echo base_url(); ?>extras/js/jquery/ui/jquery.ui.core.js"></script> 
<script src="<?php echo base_url(); ?>extras/js/jquery/ui/jquery.ui.widget.js"></script> 
<script src="<?php echo base_url(); ?>extras/js/jquery/ui/jquery.ui.position.js"></script> 
<script src="<?php echo base_url(); ?>extras/js/jquery/ui/jquery.ui.autocomplete.js"></script> 

<script> 

$(document).ready(function() { 
    $.ajax({ 
     type: "POST", 
     url: "http://localhost:8888/index.php/welcome/get_client/", 
     dataType: "json", 
     data: "{}", 
     success: function(data) {     
      ("#search_client").autocomplete({ 
       source: data 
      }); 
     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown) { 
     alert(textStatus); 
     } 
    }); 
}); 

</script> 

ページがサファリ(私の唯一のブラウザ)にロードされると、エラーコンソールは、このメッセージが表示されます。ほとんどの結果は、部分が読み込まれていないと言います。 SafariのResourcesパネルには、ロード中であると表示されます。何が問題なの?私はこれでかなり混乱しています。

答えて

3

、この:

success: function(data) {     
     $("#search_client").autocomplete({ 
      source: data 
     }); 
    }, 

("#search_client")$の追加その:

success: function(data) {     
     ("#search_client").autocomplete({ 
      source: data 
     }); 
    }, 

は、このする必要があります。

("#search_client").autocomplete(...と言うとき、文字列リテラル"#search_client"autocompleteプロパティにアクセスしようとしていて、そのプロパティを関数として呼び出そうとしています。文字列リテラルにはautocompleteというプロパティがありませんので、未定義の値を関数として実行しようとしています。

0
<script> 

var autoCompleteData = new Array(); 

$(document).ready(function() { 



    $.ajax({ 
     type: "POST", 
     url: "http://localhost:8888/index.php/welcome/get_client/", 
     dataType: "json", 
     data: "{}", 
     success: function(data) {     
      autoCompleteData = $.parseJSON(data); 
     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown) { 
     alert(textStatus); 
     } 
    }); 

    ("#search_client").autocomplete({ 
    source: autoCompleteData 
    }); 
}); 

あなたはこれを試してみましたか?あなたはあなたの成功ハンドラでドル記号を逃している

+0

これは "[未定義]は関数ではありません"というエラーを出力し、 'autoCompleteData'を' .autocomplete 'に渡そうとすると有意義な値になると考える理由はありません。 –

関連する問題