我遇到了我的jquery問題。這似乎很奇怪。這是怎麼回事。我試圖從JSON文件中獲得一個公式,並用敲除可觀察對象進行評估。jquery和getJson,只有在使用alert()時纔有效()
有什麼奇怪的是,它只適用於我使用任何警報('')消息,沒有它,它只是不起作用。
我GOOGLE了我的問題,我得到的答案是關於ajax調用。但是,使用這裏
代碼
function loadData(fileName) {
var data = $.getJSON(fileName + ".json");
return(data);
}
var res = 0;
var Student = function(data) {
var self = this;
ko.mapping.fromJS(data, { }, self);
var res = 0;
self.result = ko.computed(function() {
loadData("Eqn").done(function(data1) {
if (data1 && data1.eqn) {
$.each(data1.eqn, function(key, value){
var str = value.Equation;
res = eval (str);
});
}
});
return(res);
});
};
一切jQuery函數$的getJSON IM是工作的罰款,如果我回來之前添加一個警報()。
Eqn.json
{
"eqn":[
{
"Equation":"parseFloat(self.English()) + parseFloat(self.Japanese()) + parseFloat(self.Calculus()) + parseFloat(self.Geometry())"
}
]
}
Data.json
{
"info":[
{
"Name":"Noob Here",
"Major":"Language",
"Sex":"Male",
"English":"15",
"Japanese":"5",
"Calculus":"0",
"Geometry":"20"
},
{
"Name":"Noob Here",
"Major":"Calculus",
"Sex":"Female",
"English":"0.5",
"Japanese":"40",
"Calculus":"20",
"Geometry":"05"
}
]
}
完整源代碼here
***這是異步!!! *** – adeneo 2013-03-25 09:32:14
讓'self.result'是一個簡單的觀察到的,並在回調改變它的值。 – lordvlad 2013-03-25 09:48:38