Domanda

Sto tentando di lavorare con i manubri JS e finora è per lo più che funziona. Comunque ho incontrato un problema interessante.

Sto tentando di ottenere manubri per rendere un modulo di input dell'utente con tre campi di testo. Per il test, ho incollato nel mio documento la stringa JSON necessaria per costruire questi tre campi di testo e funziona magnificamente. Tuttavia, quando utilizzo $ .getJSON e chiama la stessa esatta stringa JSON tramite Ajax quando rende i campi di testo, non vengono applicate regole CSS o JQuery.

So che è dovuto al documento di fatto pronto è stato chiamato da questo punto in cui ho aggiunto un documento pronto alla mia stringa statica e la stessa cosa è accaduta che non hanno reso regole CSS o JS.

C'è un modo in cui posso ristrutturare tutte le regole jquery e css da aggiornare? o come posso far funzionare questo?

Inoltre, si prega di notare che questo è non jquery mobile.

Molto grazie in anticipo .. e si prega di chiedere se avete domande prima di votare.

Modifica - Ecco il codice:

versione statica

var source   = $("#form-template").html();
var template = Handlebars.compile(source);
var data = { 
    info: { id: 'longbeach2012', name: 'Long Beach 2012' },
forms: [
{id: "1", label: "This is a label", description: "", type: "text", name: "t1", username: "alan" },
{id: "2", label: "This is a label2", description: "description2", type: "text", name: "t2", username: "allison" },
{id: "3", label: "This is a label3", description: "description3", type: "text", name: "t3", username: "ryan" }
]};
var example = {title: "Sample Title", body: "Sample Body"};
$("#testForm").html(template(data));
.

Versione dinamica

$.getJSON('http://register.local.dev/fetchtemplate',
{
    language: 'english',
    formid: 'longbeach2012'
},
function(data) {
    $.each(data, function(i,item){
        if( item.elem_type === 'text' )
        {
            var source = $("#textinput-template").html();
            var template = Handlebars.compile(source);
            $("#testForm").append(template(item));
        }
    });
});
.

Template Manubri

<script id="textinput-template" type="text/x-handlebars-template">
<div id="q{{elem_id}}">
    <div class="small">{{trans_label}}{{#if trans_description}}</br />
    <span class="notice">{{trans_description}}</span>{{/if}}</div>
    <input type="{{elem_type}}" name="{{elem_name}}" id="{{elem_name}}" value="{{trans_defaultValue}}" tabindex="1" autocomplete="off" />
</div>
.

È stato utile?

Soluzione

L'ho capito.

Ho rimosso la maggior parte del mio codice JavaScript da un documento pronto e ha avuto il mio Getjson chiama una funzione che eseguiva il resto del mio JavaScript dopo che GetJson aveva finito di funzionare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top