Я пытаюсь извлечь данные из службы обслуживания wcf, находящейся в состоянии покоя, при загрузке страницы и привязки к выпадающему списку, который не работает.Knockout ObserableArray dropdown binding issue
function CreateItem(name, value) {
var self = this;
self.itemName = ko.observable(name);
self.itemValue = ko.observable(value);
};
function AppViewModel() {
var self = this;
self.titleList = ko.observableArray();
self.load = function() {
alert("click fired");
$.ajax({
url: "https://mydomain/RestfulService/Service1.svc/CreateData?name=venkat",
type: "POST",
cahce: false,
async: false,
data:'',
dataType: "jsonp",
success: function (data) {
for (var i = 0; i < data.length; i++) {
self.titleList().push(new CreateItem(data[i].Description, data[i].TitleID));
}
alert("success " + data);
},
error: function (error) {
alert("failed " + error);
}
});
};
};
<div>
<select data-bind="options: titleList(), optionsText: 'itemName', optionsValue: 'itemValue', value: selectedTitleValue, optionsCaption: 'Please choose'"></select>
</div>
<script type="text/javascript">
$(document).ready(function() {
var model = new AppViewModel();
model.load();
ko.applyBindings(model);
});
</script>
Проблема в том, Нокаут массив заполнения в функции нагрузки правильно, но падение вниз не освежает обновленные данные. Я не понимаю, где проблема. Просьба дать материалы.
Проверено. http://jsfiddle.net/zy2mD/ Устранение разыменования 'ko' устранит вашу проблему. – Origineil
Спасибо большое за ваш быстрый ответ. Он работает сейчас. – user1837788
@ user1837788: вы можете отметить ответ как принятый, если он работает для вас. Благодарю. –