2015-04-15 1 views
0

Предположим, у меня есть код jQuery, который загружает внешний HTML-файл в шаблон.Заполнить внешний файл .html с помощью усов?

$('#myButton').click(function(){ 
    $('#content').load('file.html'); 
}); 

Теперь я хочу, чтобы заполнить несколько полей в файле file.html. Это возможно?

+0

Да, это возможно. – Celeo

+0

Подумайте, в том числе содержимое 'file.html' здесь (или, по крайней мере, хороший репрезентативный пример того, что он может включить). –

ответ

1

Вот пример (непроверенный) того, как вы можете это сделать.

$('#myButton').click(function() { 

    // load text into a hidden div. 
    $('#hiddenContent').load('file.html', function() { 

    // grab template from hidden div 
    var templateString = $('#hiddenContent').html(); 

    // compile the template string into a template object 
    var compiledTemplate = hogan.compile(templateString); 

    // apply some data to the template 
    var parsedTemplate = compiledTemplate.render({...some data}); 

    // finally, show the parsed template 
    $('#content').html(parsedTemplate); 
    } 
}); 

Edit: дополнительные примечания

В идеале, вы бы не загружать file.html в йот элемент, поскольку он не должен быть показан. Просто загрузите текст.

Кроме того, скомпилирование шаблонов является дорогостоящим. В рабочей среде эти шаблоны должны быть предварительно скомпилированы. У Хогана есть команда, называемая Халк, которая делает это.

0

Возможно, что-то подобное?

$('#myButton').click(function() { 
    $('#content').load('file.html', function() { 
    // do something to populate fields created by the loading of file.html 
    } 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^