0
我試圖通過單擊來修改對象。這是我的。如何修改點擊對象
<form>
<ul class="tabs" data-tabs="tabs" data-bind="template: 'lineTemplate'"></ul>
<div class="pill-content" data-bind="template: 'lineDivTemplate'" ></div>
</form>
<script id="lineTemplate" type="text/html">
{{each(i, line) lines()}}
<li><a data-bind="click: function() { viewModel.setActive(line) }, attr : { href : '#line' + id() }"><span style="font-size: 15px;" data-bind="text : model"/></a></li>
{{/each}}
</script>
var viewModel = {
lines: ko.observableArray([]),
setActive : function(line) {
**//I need to modify this object**
line.activeTab = true;
}
};
$.getJSON("/json/all/lines", { customer_id : customer_id } , function(data) {
ko.mapping.fromJS(data, null, viewModel.lines);
});
ko.applyBindings(viewModel);
基本上當用戶點擊選項卡時,我需要它來更新模型(最終是數據庫),它是當前活動的選項卡。我的第一個方法是刪除對象修改它,然後將其推回到數組,但推動將它添加到數組的末尾,這是我不想要的。謝謝你的幫助。
這工作不錯,但我正在尋找的東西要簡單得多。我想要做的就是修改observableArray中的一個屬性。當我將信息寫入數據庫時,如果我的屬性已經存在於對象中,這會更容易。你有它的方式,我將不得不串行化一個完全不同的對象,獲得該ID然後將其作爲單獨的POST傳遞並更新它。謝謝。 –
這種情況下的'activeTab'只是對observableArray中同一個'line'對象的引用。所以,這不會是一個完全不同的對象。 –