我在视图上使用knockout js来显示字段列表(即名字,姓氏等).使用可观察数组在淘汰模板中列出这些字段.该模板包含以下字段:名称(输入),翻译(选择)和添加/删除功能.(见下文)
var viewModel = {
Fields: ko.observableArray([new Field(2, "First Name", 1), new Field(3, "Last Name", 2)]),
AvailableTranslations: ko.observableArray([new Translation(1, "Prefixes"), new Translation(2, "Suffixes")]),
remove: function(item) {
ko.utils.arrayRemoveItem(this.Fields, item)
},
add: function() {
this.Fields.push(new Field(0, "", ""));
}
};
var Translation = function(id, name) {
this.ID = id;
this.Name = name;
};
var Field = function(id, name, translationID){
this.ID = ko.observable(id);
this.Name = ko.observable(name);
this.TranslationID = ko.observable(translationID);
};
Run Code Online (Sandbox Code Playgroud)
在模板中的翻译选择列表旁边,我想要一个选项来添加一个不存在的新翻译.单击该按钮时,我想打开一个jquery UI对话框,其中包含使用knockout的局部视图.部分视图将包含翻译名称以及旧值和新值(两个文本字段).旧值和新值是可观察的数组.
var viewModelPartialDialog = {
TranslationName: ko.observable(),
Values: ko.observableArray([]),
};
var …Run Code Online (Sandbox Code Playgroud) model-view-controller jquery-ui jquery-ui-dialog knockout.js