从javascript文件中淘汰js模板

时间:2016-04-24 07:38:44

标签: javascript php html templates knockout.js

我将表单提交到php文件,该文件从数据库返回一些产品。我现在需要添加一个带有返回数据的淘汰模板。这是代码:

$("#search-filter-form").submit(function(event) {
        // stop form from submitting normally 
        event.preventDefault();

        // get some values from elements on the page: 
        var $form = $( this ),
            url = $form.attr( 'action' );

        // Send the data using post 
        var posting = $.post(url, 
            {   place: searchFilterViewModel.searchFilterAutoComplete.placeObject,
                categories: searchFilterViewModel.categorySelect.selectedCategories
            }).done(function(data) {
                searchResultsViewModel.allProducts(JSON.parse(data));
                for(var x = 0; x < searchResultsViewModel.allProducts().length; x++) {
                    $("search-results").append();// NEED TO APPEND THE KNOCKOUT TEMPLATE HERE
                }
            });
    });

我想要一个带有html模板的单独文件。我创建了这个示例文件:

product_template.html:

<script type="text/html" id="product-template">
    <h3 data-bind="text: allProducts.name"></h3>
    <p>Credits: <span data-bind="text: credits"></span></p>
</script>

如何从上面的javascript函数中获取要打印的模板文件?

1 个答案:

答案 0 :(得分:1)

将数据存储在一个observable / object中,并将其传递给模板本身,以便它可以读取它。

您只链接了模板文件,您需要另一行来向其应用数据,例如

<div data-bind="template: { name: 'product-template', data: buyer }"></div>