已经工作了大约2周才能让CRUD系统与淘汰赛一起工作,而且它正在慢慢地出现。每当我尝试添加按钮时,我都会遇到问题。
目前我最大的问题是我的添加按钮,它假设从我的新闻中清除所有值,并给我一个空白表格填写。目前我已经使用bootstrap以模态形式加载。在我的网站上,屏幕渐渐消失,好像它将向您展示模态DIV,但没有任何反应。
http://jsfiddle.net/rqwku4kb/3/
self.AddNewIncident = function() {
var id = this.ID;
$('#myModal').modal('show')
self.currentIncident(null);
;
};
有人会有任何想法吗?
答案 0 :(得分:1)
使用Knockout来控制你的模态,就像其他一切一样。如果您到达视图模型周围以摆弄DOM,事情就会出错。
答案 1 :(得分:0)
单击背景时模式将关闭,因此您需要使用以下两种方法之一来抑制模式。使用bootstrap属性阻止因背景点击而关闭模式,如下所示:
通过javascript:
$('#myModal').modal({
backdrop: 'static',
keyboard: false
})
HTML:
<div id="myModal" class="modal fade" role="dialog" data-bind="with: currentIncident" data-backdrop="static" data-keyboard="false">
或者禁止后台点击事件。当您单击新按钮时,单击事件将触发button
,然后气泡/向上传播DOM
,从而触发背景点击,然后再次关闭对话框。
因此要么抑制处理程序中的传播:
self.AddNewIncident = function(data, ev) {
var id = this.ID;
$('#myModal').modal('show');
self.currentIncident(null);
ev.stopPropagation();
};
或在点击装订中,淘汰赛将为您执行此操作:
<button type="button" class="btn btn-success" value='Edit' data-toggle="modal" data-target="#myModal" data-bind="click: AddNewIncident, clickBubble: false">New</button>