これは私のコードですが、入力ボックスにテキストを入力してから保存ボタンをクリックすると、テキストはドロップダウンリストに保存されますが、このテキストはローカルストレージに保存されず、このためにノックアウト.jsを使用しています
<form style="margin-top: -25px;">
<button id="buttonSave" type="submit" style="margin-left: 1156px;">Save</button>
</form>
<div id="labelList" class="btn-group" style="margin-top: -595px;margin-left: 3px;">
<input id="editExistannotation" data-bind="value: annotationList" class="editAnnotationList textArea" type="text" placeholder="Edit existing annotation"/>
<select data-bind="options: area"></select>
</div>
----------------------------------------------------
var addHandle = function () {
this.items = ko.observableArray();
this.add = function (item) { this.items.push(item); }
this.remove = function (item) { this.items.remove(item); }
this.clear = function () { this.items.removeAll(); }
}
var addHandler = new addHandle();
ko.applyBindings(addHandler, document.getElementById("slider"));
$("#buttonSave").click(function () {
var label_object;
var labelText = document.getElementById("textarealabel");
var labelObject = new Object();
labelObject.textarealabel = labelText.value;
localStorage.setItem('label_object', JSON.stringify(labelObject));
$("#ddlList").prepend("<option value='0'>" + localStorage.getItem(label_object) + "</option>");
return false;
})
var existAnnotationmodel = new function () {
var labelObject = $('#textarealabel').val();
this.annotationList = ko.observable();
this.area = ko.observableArray();
this.append = ko.computed(function () {
this.area.push(this.annotationList());
localStorage.setItem('labelObject', JSON.stringify(labelObject));
}, this);
}
ko.applyBindings(existAnnotationmodel);