Невозможно сохранить значение модели, если элемент добавлен в выделенный наблюдаемый массив

{model : {"firstName":"David","lastName":"Bawa","state":"AL"}}

{"allStates":[{"id":1,"value":"AL","text":"ALABAMA"},{"id":2,"value":"AK","text":"ALASKA"}}


<select name="state" data-bind="options: allStates,optionsValue : 'value', optionsText: 'text' ,value: model.state,optionsCaption: 'Choose...'" id="ddlState"></select>

var registrationModel = {
    staticData: function () {
        var self = this;
        self.allStates = ko.observableArray();
        self.hearUsAll = ko.observableArray();

    registrationService.getAllStates().done(function (result) {
        if (result != null) {
            $.each(result.List, function (i, v) {
                self.allStates.push(v);
            });
        }
    });
  }
}

и моя служба регистрации

var registrationService = {

    getAllStates: function () {
        return service.staticService.get('GetAllStates');            
    }}

и мой статический сервис

var service={
staticService: {
            get: function (method) {
                var results = store.fetch(method);
                if (results) {
                    var dfd = new $.Deferred();
                    dfd.resolve(results);
                    return dfd.promise();
                }
                return $.ajax({
                    type: 'GET',
                    url: "http://xxxx/Service1.svc/" + method,
                    dataType: "json",                    
                    success: function (result) { if (result) { store.save(method,result) } }
                }).promise();
     }

состояния заполняются с сервера через ajax, все работает нормально, если я жду, когда будут получены все состояния, а затем применю привязки.

как вы можете видеть, я получаю предварительно выбранное значение состояния в модели. Но когда я не жду заполнения состояний и вызываю привязки, это не сработает. это меняет мою переменную состояния на ноль. Я получаю свою модель представления из плагина картирования.

Пожалуйста помоги.

0 ответов

Другие вопросы по тегам