как редактировать значения в формате JSON?

0

следующая модель моего взгляда

var Patientp = function () {
    this.id = ko.observable(idValue);
    this.name = ko.observable(nameValue);
    this.degree = ko.observable(degreeValue);
    this.gender = ko.observable(genderValue);
    //this.consultant= ko.observableArray(consultantArrValue);
    this.username = ko.observable(usernameValue);
    this.password = ko.observable(passwordValue);
    this.email = ko.observable(emailValue);
    this.mobile = ko.observable(mobileValue);    
    this.imgFile = ko.observable(imgFileValue);
    this.imgSrc = ko.observable(imgSrcValue);
    this.imagePath=ko.observable(imagePathValue); 
    this.userid=ko.observable(useridValue); 
    this.department=ko.observable(departmentValue);
    //this.consultant= ko.observableArray(consultantArrValue);
    //this.consultant= ko.observable(consultantValue);


}

Я получаю вход от вызова ajax следующим образом

$.ajax({
    type: "GET", 
    url: projectUrl+"getDoctors",  
    dataType:"json",
    jsonp: true,
    async:false ,
    success: function (data) {
        //alert(data);
        $.each(data.doctors, function(index, currPat) {
            var doc = new Doctor(currPat.name,currPat.username);
            doctors.push(doc);
            if(currPat.userid=="${IDis}"){
           console.log(currPat.degree); 
           nameValue = currPat.name;
           usernameValue =currPat.username;
           passwordValue ="" ;
           emailValue = currPat.email;
           mobileValue = currPat.mobile;
           genderValue = currPat.gender;
           departmentValue=currPat.department;
           degreeValue=currPat.degree;
           imgSrcValue=currPat.imagePath;
            }
       });    
      }
});

Теперь все поля ввода имеют старые значения. Теперь я хочу изменить некоторые поля ввода, и после того, как я нажму кнопку сохранения, мне нужны значения в JSON, чтобы я мог перейти в формате ajax. Так что я использую ko.toJSON, как показано ниже

$('#saveButton').click(function(){
    alert('savebutton');
    var testjson=ko.toJSON(new Patientp());
    console.log(testjson);

});

Посмотрите скриншот, мобильное значение 1234567890

Изображение 174551

теперь я сделал мобильный до 666 и нажал кнопку сохранения, см. мобильный (JSON в консоли) по-прежнему не изменился

Изображение 174551 Но здесь я получаю только старые значения. Скажите, пожалуйста, какой-нибудь орган, как получить новые значения (что я когда-либо вводил в поля ввода)

  • 0
    Извините, но я не могу понять ваше требование, не могли бы вы уточнить ваше требование?
  • 0
    @JayeshGoyani, см. На первом снимке экрана показаны данные, которые я получаю от ajax (при загрузке страницы), и он печатается в поле ввода. Теперь я изменил номер мобильного телефона с 1234567890 на 666 И нажал кнопку сохранения. См. JSON сейчас в консоль, значение не меняется. Но когда я нажимаю кнопку сохранения, я хочу значения. Надеюсь, вы понимаете,
Показать ещё 3 комментария
Теги:
knockout.js

1 ответ

0
Лучший ответ

Я делал 2 раза new Patientp() один раз в ko.applyBindings(new Patientp()) а в другой раз var testjson=ko.toJSON(new Patientp());

теперь, когда я сделал var patp=new Patientp(); и после этого ko.applyBindings(patp) и var testjson=ko.toJSON(patp); то проблема решена

Ещё вопросы

Сообщество Overcoder
Наверх
Меню