我正在使用knockout来创建一个存储数组的表,我有一个创建并放入可观察数组的选项列表。我希望能够将年份添加到表格中,但是已将使用的值从选择列表中删除。目前我已将值添加到表中,但没有问题,但似乎无法从选择列表中删除值。这是我创建的fiddle。如何从select中删除值使用knockout选项绑定?
var yearList = function(){
var years = [];
var id = 0;
for(var y=1950; y < 2056; y++) {
id++;
years.push({
id:id
,year:y
});
}
return years;
}
var ViewModel = function() {
var self = this;
self.years = ko.observableArray(yearList());
self.selectedYear = {};
self.yearTable = ko.observableArray([
{
id:1
,year:2013
},{
id:2
,year:2014
}
]);
self.addYear = function() {
var addEntry = self.selectedYear;
self.yearTable.push(addEntry);
$("#dialog").dialog("close");
}
};
ko.applyBindings(new ViewModel());
$(function() {
$("#dialog").dialog({
autoOpen: false,
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
}
});
$(document).on('click','#newEntry',function() {
$("#dialog").dialog("open");
});
});
有人可以帮忙吗?
那好吧,我试图self.years()删除(addEntry的)。这就是为什么它一直告诉我Uncaught TypeError:Object [object Array]没有方法'remove'多谢! – abarbaneld