にKo.observableにバインドされていないこれは私がテキストボックスにバインドするために使用するコードです:値knockout.js
var CategoryViewModel = {
categoryModel: ko.observable({
categoryId: ko.observable(),
categoryName: ko.observable(),
active: ko.observable()
}),
GetCategoryById: function (data, event) {
CategoryViewModel.ClickId(event.target.id);
var ajaxUrl = ApplicationRootUrl("GetCategoryById", "Category") + "/" + CategoryViewModel.ClickId();
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: ajaxUrl,
dataType: "json",
success: function (data) {
if (data.isSuccess) {
// This value got bind to textbox
CategoryViewModel.categoryModel(data.data);
}
},
error: function (err) {
}
});
},
CategoryAddButton: function() {
CategoryViewModel.categoryModel();
$('#addCategoryModel').modal('toggle');
}
};
$(document).ready(function() {
ko.applyBindings(CategoryViewModel, document.getElementById("categoryMain"));
});
CategoryAddButton
方法をボタンクリックで呼び出されます。私はこのメソッドでモデル値を空にしようとしています。ここで
HTMLです:
<input type="text" name="CategoryName" class="form-control" placeholder="Enter Category Name" data-bind="textinput: categoryModel().categoryName">
テキストボックスの値はAJAX呼び出しにバインドされます。ただし、CategoryAddButton
メソッドが呼び出された後、値はテキストボックスにバインドされません。