编辑对新添加的数据删除不起作用
Edit not working for newly added data - knockout
我一直在遵循一些教程,并试图遵循knockout.js
。我无法编辑任何新添加的数据。
My JS Code:
var data = [
new ListData("Programmer", 1),
new ListData("Testing", 2),
new ListData("DBA", 3),
new ListData("Lead", 4),
new ListData("Manager", 5)
];
function ListData(desig, id) {
return {
Desig: ko.observable(desig),
Id: ko.observable(id)
};
}
var viewModel = {
list: ko.observableArray(data),
dataToAdd: ko.observable(""),
selectedData: ko.observable(null),
addTag: function () {
this.list.push({ Desig: this.dataToAdd() });
this.tagToAdd("");
},
selecData: function () {
viewModel.selectedData(this);
}
};
$(document).on("click", ".editData", function () {
});
ko.applyBindings(viewModel);
My View Code:
<input type="text" data-bind="value: dataToAdd" />
<button data-bind="click: addData">
+ Add
</button>
<ul data-bind="foreach: list">
<li data-bind="click: $parent.selecData">
<span data-bind="text: Desig"></span>
<div>
<a href="#" class="editData">Edit</a>
</div>
</li>
</ul>
<div id="EditData" data-bind="with: selectedData">
Designation:
<input type="text" data-bind="value: Desig" />
</div>
我能够编辑已经存在的数据,如-程序员,测试,DBA…但是如果我添加一个新的数据…我不能编辑。请协助。
您的addData
(您在代码中将其命名为addTag
,但在HTML中调用addData
)函数不以与初始数据创建相同的方式构建新元素。注意:由于ListData
构造函数显式返回一个对象,所以new
是多余的。
addData: function () {
this.list.push(ListData(this.dataToAdd(), ""));
},
相关文章:
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- 谷歌地图/Angular JS:地图更新并不总是反映数据,并且可以't删除标记
- 如何从表中的api中删除表tr数据comping
- 单击文本时删除文本框的默认数据
- 停止JSON.parse()从JSON字符串数据中删除尾随零
- JavaScript - 合并两个对象数组并根据属性值删除重复数据
- 使用AJAX传递的数据编辑XML文件-正在删除XML数据
- 如何删除Localstorage中的数据
- 如何在字符串中的值之前删除字符串中的动态数据?/ 使用 Lodash 的 _.trimStart 与动态数据
- 从服务器中删除映射数据,丢失订阅
- 如何根据某些条件向可编辑的jquery数据表添加或删除按钮
- jQuery:从数据属性中删除除前4个字符外的所有字符
- 使用nodeJS进行重复数据删除
- 改进JS重复数据删除函数的性能
- 我如何合并包含对象的JavaScript数组,重复数据删除并保留新对象
- 编辑对新添加的数据删除不起作用
- Typeahead.js预取和远程数据源之间的重复数据删除
- 在NodeJS中使用gridfs通过元数据删除文件
- Ajax javascript数据删除最后一次
- 如何使用来自其他数组的数据删除数组项