Я довольно новичок в knockout.js, и мне нравится учиться, как создавать с ним интерфейсы. Но у меня есть немного стены, пытаясь сделать мой интерфейс более эффективным. То, что я пытаюсь достичь, удаляет только элементы, выбранные $ ('. Document_checkbox'). SerializeArray(),, который содержит ревизию_ид. Затем я снова добавлю записи в модель представления с измененным вызовом self.getDocument(), передав только измененные записи, которые будут добавлены повторно. Может ли кто-нибудь помочь мне удалить записи из массивов на основе значений «revision_id» $ ('. Document_checkbox'). SerializeArray() ?Замена определенных элементов в наблюдаемых массивах в knockout.js
function Document(data) {
this.line_id = data.line_id
this.revision_id = ko.observable(data.revision_id);
this.status_id = ko.observable(data.status_id);
}
function DocumentViewModel() {
var self = this;
self.documents = ko.observableArray([]);
self.getDocument = function(){
//Reset arrays
self.documents.removeAll();
//Dynamically build section arrays
$.getJSON("/Documentation/Get-Section", function(allData) {
$.map(allData, function(item) {
var section = { name: item.array_name, display_name: item.display_name, documents: ko.observableArray([])};
self.documents.push(section);
})
//Add document objects to the arrays
$.getJSON("/Documentation/Get-Document", function(allData){
$.map(allData, function(item) {
var section = ko.utils.arrayFirst(self.documents(), function(documentSection) {
return documentSection.name === item.array_name;
});
section.documents.push(new Document(item));
});
});
});
}
self.updateStatusBatch = function(data,event){
$.post('/Documentation/Update-Status-Batch',
{
revision_id : $('.document_checkbox').serializeArray(),
status_id : event.currentTarget.value
}).done(
function(){
//This is where I get confused.
});
}
}
Вы хотите добавить свой html и привязки к этому вопросу? –