5

Zurb Foundation 3.1 をロードした後、jQuery-UI Autocomplete が機能しません。

誰かそれらを一緒に動かしたり、Foundation で動作する別のオートコンプリート プラグインを見つけたりした人はいますか??

Uncaught TypeError: Object [object Object] has no method 'autocomplete'
(anonymous function) order.js:7
l foundation.min.js:18
c.fireWith foundation.min.js:18
v.extend.ready foundation.min.js:18
A foundation.min.js:18
4

3 に答える 3

9

そのページではうまく機能しますが、Orbit や Reveal などの他のコンポーネントを使用していて、Foundationn の上にサイトを構築している場合は、foundation.min.jsが必要です。

foundation.min.jsには、Modernizr、jQuery ライブラリ、オービット、リビール、ツールチップが含まれています。このため、 foundation.min.jsに含まれている jQuery ライブラリを使用できます(foundation 3.2 には jQuery 1.8.2 が含まれています)。これらのインポートを本文の最後に残してから、必要なもの (オートコンプリートと日付ピッカー用の jQuery ui、次にスクリプト) を追加したので、次のようになりました。

<script src="javascripts/foundation.min.js"></script>
<script src="javascripts/app.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>

<script type="text/javascript">
    $(function () {
        var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme"
    ];
        $("#tags").autocomplete({
            source: availableTags
        });
    });
    $(function () {
        $("#datepicker").datepicker();
    });
</script>

スクリプトは次の順序で実行されます

  1. foundation.min.jsには jquery 1.8 が含まれています
  2. foundation.min.js jquery ライブラリが必要です
  3. jquery ライブラリと jquery ui が必要なカスタム スクリプト
于 2012-10-30T17:25:19.283 に答える
3

jquery を使用している Foundation フレームワークのライブラリとの競合があります。Foundation Zurb Framework で jQuery UI を使用するには、コードの末尾にある 2 つのインポートを削除する必要があります。

foundation.min.js と javascripts/app.js

私のサンプル コードで動作していることを確認できます (動作を確認するには、Foundation リソース (foundation.min.css、app.css、modernizr.foundation.js) を含める必要があります)。

 <!DOCTYPE html>

<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8" />    
<!-- Set the viewport width to device width for mobile -->
<meta name="viewport" content="width=device-width" />   
<title>jQuery UI Autocomplete - Default functionality</title>   
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />     
<!-- Included CSS Files (Compressed) -->
<link rel="stylesheet" href="stylesheets/foundation.min.css">
<link rel="stylesheet" href="stylesheets/app.css">
<script src="javascripts/modernizr.foundation.js"></script>
<!-- IE Fix for HTML5 Tags -->
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

    <script>
    $(function() {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
            "Groovy",
            "Haskell",
            "Java",
            "JavaScript",
            "Lisp",
            "Perl",
            "PHP",
            "Python",
            "Ruby",
            "Scala",
            "Scheme"
        ];
        $( "#tags" ).autocomplete({
            source: availableTags
        });
    });
    $(function() {
        $( "#datepicker" ).datepicker();
    });
    </script>
    </script>
</head>
<body>
    <br>
    <br>
    <div class="row">
        <div class="four columns">      
            <label for="tags">Programing Language: </label>
            <input type="text" id="tags" placeholder="Language"/>
        </div>
        <div class="four columns">
            <label for="city">Name: </label>
            <input type="text" id="city" placeholder="State" />
        </div>
        <div class="four columns">
            <label for="tags">Date: </label>
            <input type="text" id="datepicker" placeholder="dd/mm/yyyy"/>
        </div>
    </div>  


</body>
</html>
于 2012-10-25T09:10:55.097 に答える
2

私はfoundation.min.jsjQuery UIで同じ問題に直面していました。

それから@snekkkeの答えを読んで試してみました..
一部のUI関数では機能しましたが、すべてでは機能しませんでした(jQuery UIjQueryfoundation.min.jsにバンドルされている)がうまく連携していない可能性があります)。

だから私はfoundation.min.jsからjQueryコードを削除し、jQuery用のGoogle CDNを追加しました..注文は..

  1. jQuery
  2. foundation.min.js
  3. jQuery UI

今、私にとってはうまく機能しています...

于 2012-12-28T21:42:27.743 に答える