删除添加行
Knockout adding row
我是淘汰赛的新手,我正在尝试制作一个表,当我们单击"Remover"时,它会删除行,但当我单击"Adicionar"时我无法向表中添加任何行。如果有人能帮我,我很感激。
http://jsfiddle.net/ThvdF/
<html>
<head>
<title> Inseminações </title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id='cssmenu'>
<ul>
<li><a href="inseminações.html">Inseminações</a>
<li><a href="tratamentos.html">Tratamentos</a>
<li><a href="analises.html">Análises Clínicas</a>
</ul>
</div>
<br>
<h1> Inseminações </h1>
<table>
<thead><tr>
<th>Data</th>
<th>SIA Vaca</th>
<th>SIA Touro</th>
<th>Nome do Touro</th>
<th>Documento</th>
<th>Inseminador</th>
<th> </th>
</tr></thead>
<tr>
<tbody data-bind="foreach: dtabela">
</tr>
<tr>
<td data-bind="text: Data"></td>
<td data-bind="text: SIAV"></td>
<td data-bind="text: SIAT"></td>
<td data-bind="text: NomeT"></td>
<td data-bind="text: Doc"></td>
<td data-bind="text: Ins"></td>
<td><button data-bind='click: $root.removeDados'>Remover</button></td>
</tr>
</tbody>
<tbody>
<tr>
<td><input data-bind='value: Data'/></td>
<td><input data-bind='value: SIAV'/></td>
<td><input data-bind='value: SIAT'/></td>
<td><input data-bind='value: NomeT'/></td>
<td><input data-bind='value: Doc'/></td>
<td><input data-bind='value: Ins'/></td>
<td><button data-bind='click: $root.addDados'>Adicionar</button></td>
</tr>
</tbody>
</table>
<script type='text/javascript' src='knockout-3.0.0.js'></script>
<script type='text/javascript'>
function Dados(Data,SIAV,SIAT,NomeT,Doc,Ins) {
this.Data = ko.observable(Data);
this.SIAV = ko.observable(SIAV);
this.SIAT = ko.observable(SIAT);
this.NomeT = ko.observable(NomeT);
this.Doc = ko.observable(Doc);
this.Ins= ko.observable(Ins);
}
function DadosViewModel ()
{
var self= this
this.dtabela=ko.observableArray([
new Dados("30-01-13", 354, 564, "Touro 1", "Doc1", "Inseminador A"),
new Dados("12-05-13", 785, 344, "Touro 3", "Doc5", "Inseminador B"),
]);
this.removeDados=function(Dados) {
self.dtabela.destroy(Dados);
};
this.addDados=function(Dados) {
self.dtabela.push( new Dados);
};
};
var vm= new DadosViewModel();
ko.applyBindings(vm);
</script>
</body>
</html>
好的,我已经让你的样本工作了,你可以在这里看到一个演示:http://jsfiddle.net/ThvdF/2/
我不得不做出以下修改
-
你没有表示新项目的视图模型属性,我添加了一个:
function DadosViewModel () { var self= this .... this.newDados = ko.observable( new Dados(); ) // Here
-
您有两个
tbody
标记,我将其中一个更改为tfoot
,并使用with
绑定将页脚行绑定到newDados
视图模型属性<tfoot data-bind="with: newDados">
-
当将此实例传递给
addDados
方法时,我重新创建了newDados
function DadosViewModel () { ... this.addDados=function(d) { self.dtabela.push( d ); self.newDados( new Dados() ); }
相关文章:
- 使用jQuery或Angular动态添加或删除表行
- 删除添加行
- 动态添加和删除 HTML 表中的行
- 如何在 Firefox 插件 XUL 树中添加和删除行
- 通过用户仅使用 javascript 从文本框输入从 html 表中添加和删除行
- 使用 jQuery 动态添加或删除表中的行
- 如何使用添加和删除按钮动态添加表以及动态添加行
- 在表中添加和删除[带有输入字段]的行
- 如何使用DOM更改HTML表第一行中的按钮?(添加和删除行DOM)
- 如何避免第一行被删除,同时使用DOM添加和删除html表行
- 如何使用AngularJS或JavaScript在按钮单击时删除生成JSON的额外添加行
- 我如何在<选择>并在jquery中的每行添加一个删除按钮
- Javascript或Jquery添加,删除,复制行到表
- Jquery添加行,然后删除他们,如果不需要
- Jquery添加和删除表行
- 如何在html表中只使用java脚本显示json数据,并根据json数据动态添加和删除行
- 如何从html表中添加和删除行
- 如何每次使用JavaScript添加和删除带有新值的新行
- 在表行中添加和删除类
- 添加和删除表行,不能得到正确的编号