2015-06-28 12 views
8

Sto usando JQuery QueryBuilder nella mia pagina HTML. Ho seguito lo installation guide. La mia testa HTML include il seguenteJQuery QueryBuilder non funziona

<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> 

Il mio corpo ha

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

Ma quando io uso

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

My Chrome console dice

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

Tutti i miei componentistica Bower sono installato correttamente.

Cosa sto sbagliando?

+0

avete bisogno di un elemento HTML in '' '' '' : '' '

'' ' – angabriel

+0

L'ho incluso. Ho ancora lo stesso errore. –

risposta

4

Spostare lo script sotto il div costruttore elemento

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

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

o utilizzare jQuery document.ready

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

Ma quando uso lo stesso dentro $ (document) .ready (function() {...}, ottengo ancora lo stesso errore. Devo aggiungere un ascoltatore onclick al pulsante. –

+0

L'errore che sembrava essere che quando è stato chiamato $ ('# builder'), il div non è stato ancora reso – Skarlinski

+0

se si esegue console.log ($ ('# builder'). length) cosa ottieni? – Skarlinski