에 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
방법은 버튼 클릭 호출됩니다. 이 메서드에서 모델 값을 비우려고합니다.
<input type="text" name="CategoryName" class="form-control" placeholder="Enter Category Name" data-bind="textinput: categoryModel().categoryName">
텍스트 상자 값이 아약스 호출에 바인딩됩니다 : 여기
는 HTML입니다. 그러나CategoryAddButton
메서드를 호출 한 후에는 값이 텍스트 상자에 바인딩되지 않습니다.