следующая модель моего взгляда
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
теперь я сделал мобильный до 666 и нажал кнопку сохранения, см. мобильный (JSON в консоли) по-прежнему не изменился
Но здесь я получаю только старые значения. Скажите, пожалуйста, какой-нибудь орган, как получить новые значения (что я когда-либо вводил в поля ввода)
Я делал 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);
то проблема решена