2015-06-28 20 views
8

Ich verwende JQuery QueryBuilder in meiner HTML-Seite. Ich habe die installation guide verfolgt. Mein HTML Kopf beinhaltet folgendeJQuery QueryBuilder funktioniert nicht

<script src="bower_components/jquery/dist/jquery.min.js"></script> 
    <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script> 
    <script src="bower_components/moment/moment.js"></script> 
    <script src="bower_components/jquery-extendext/jQuery.extendext.js"></script> 
    <link href="bower_components/bootstrap/dist/css/bootstrap.css" rel="stylesheet" type="text/css" /> 
    <link href="bower_components/jQuery-QueryBuilder/dist/css/query-builder.default.css" rel="stylesheet" type="text/css" /> 
    <script src="bower_components/jQuery-QueryBuilder/dist/js/query-builder.standalone.js"></script> 

Mein Körper

<div id="builder"></div> 

hat aber wenn ich

<script> 
    $('#builder').queryBuilder({ 
    filters: [ ... ] 
    }); 
</script> 

Mein Chrome-Konsole sagt

query-builder.standalone.js:437 Uncaught TypeError: Cannot set property 'queryBuilder' of undefined 

Alle meine Kemenate componenets sind richtig installiert.

Was mache ich falsch?

+0

Sie in '' ' ein html-Element müssen' '': '' '

'' ' – angabriel

+0

Ich hatte es aufgenommen. Ich bekomme immer noch den gleichen Fehler. –

Antwort

4

Bewegen Sie das Skript unter dem builder div Element

<div id="builder"></div> 

<script> 
    $('#builder').queryBuilder({ 
    filters: [{id:1}] // You need to implement this 
    }); 
</script> 

oder verwenden JQuery document.ready

$(document).ready(function(){ 
    $('#builder').queryBuilder({ 
     filters: [{id:1}] // You need to implement this 
    }); 
    }) 
+0

Aber wenn ich das gleiche innerhalb $ (Dokument) .ready (function() {...} benutze, bekomme ich immer noch den gleichen Fehler. Ich muss einen Onclick Listener zu der Schaltfläche hinzufügen. –

+0

Der Fehler, den Sie schien Wenn $ ('# builder') aufgerufen wurde, wurde das div noch nicht gerendert – Skarlinski

+0

wenn Sie console.log ($ ('# builder'). length); was bekommen Sie? – Skarlinski