【发布时间】:2016-12-19 07:54:30
【问题描述】:
我正在处理带有 knockout.js 和 bootstraptable 的页面,我不知道为什么表格没有呈现。需要帮助!
这是我的示例代码:
淘汰视图模型
var SelectViewModel = function (id, text) {
this.Id = ko.observable(id);
this.Text = ko.observable(text);
};
var PageViewModel=function(){
var self=this;
self.SmartTypeList=ko.observableArray([]);
self.SmartTypeQueryList=ko.observableArray([new SelectViewModel(-1,"ALL")]);
self.Operation;
self.InitData=function()
{
$.post(getRootPath_web()+'/Backend/ZigbeeEquipmentType/ListAll',
function(data){
for(c in data){
self.SmartTypeList.push({Id:data[c].id,Text:data[c].name});
self.SmartTypeQueryList.push({Id:data[c].id,Text:data[c].name});
}
bootsModel.initTable();
},'json');
}
}
可引导模型
var bootstrapTableModel=function(){
var self=this;
self.queryParams = function (params) {
var temp = {
limit: params.limit,
offset: params.offset,
query_typeId: $("#EqTypeQuerySelect").val(),
query_sn: $("#QuerySN").val()
};
return temp;
};
self.initTable=function()
{
$('#SmartEQTable').bootstrapTable({
method: 'post',
url:getRootPath_web()+'/Backend/ZigbeeEquipment/List',
contentType:"application/x-www-form-urlencoded",
toolbar: '#toolbar',
....somthing....
onLoadError: function (status) {
alert("error");
},
onLoadSuccess: function (data) {
alert("ok");
}
});
}}
var viewModel=new PageViewModel();
var bootsModel=new bootstrapTableModel();
获取绑定和初始化数据 (功能(){ viewModel.InitData(); ko.applyBindings(viewModel); })();
【问题讨论】:
-
没有敲除,bootstraptable 工作得很好。当敲除时,服务器上没有处理请求。
-
你能告诉我们你的 HTML 是什么样的吗?使用 jQuery 选择器从淘汰视图模型中的 DOM 获取元素和值是不好的做法。通常你会为这些类型的 jQuery 小部件进行自定义绑定。
标签: twitter-bootstrap knockout.js