KnockoutJs - 如何将数据表与现有绑定表一起使用

2024-02-20

我有一个简单的 HTML 表,它使用 knockoutJS 绑定。但是,我添加了一个自定义绑定,该绑定在表上应用 jquery 数据表插件。

当我单击标题时,表格就会消失。知道如何让它与 knockoutJS 一起工作吗?


其实没有必要使用knockoutJs来进行dataTable的绑定。由于 knockoutJs 已经将 HTML 表绑定到模型,因此只需使用以下内容:

$(function() {
        var dtOptions = {
                "bPaginate": false,
                "bLengthChange": false,
                "bFilter": false,
                "bInfo": false,
                bJQueryUI: true              
        }

        var dt = $("#leadsTable").dataTable(dtOptions);

        $("#searchButton").click(function() {
           //... set url with search terms...

           $.get(url, function (data) {
                // destroy existing table
                dt.fnDestroy();

                ko.mapping.fromJS(data, vm.model);

                // re-created AFTER ko mapping
                dt.dataTable(dtOptions);                    
           });
       })
});

var serialisedModel = @Html.Raw(new JavaScriptSerializer().Serialize(Model));

var vm = {      
    data: ko.toJSON(serialisedModel),
}

ko.applyBindings(vm);

关键部分是在映射之前销毁现有的数据表,并在映射之后重新创建。我必须保留对初始数据表的引用以供以后销毁......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

KnockoutJs - 如何将数据表与现有绑定表一起使用 的相关文章

随机推荐