Better/more AJAXy problem rendering

This commit is contained in:
Piotr Mitros
2011-12-16 11:09:06 -05:00
parent 1f60997402
commit ab0cb29c41
4 changed files with 37 additions and 54 deletions

View File

@@ -1,27 +1,37 @@
$(function() {
$('#check_${ id }').click(function() {
var submit_data={};
$.each($("[id^=input_${ id }_]"), function(index,value){
submit_data[value.id]=value.value;
});
function ${ id }_load() {
$('#main_${ id }').load('${ ajax_url }problem_get?id=${ id }',
function() {
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
if($('#check_${ id }').attr('value') == 'Check') {
$.getJSON('/modx/problem/${ id }/problem_check',
submit_data,
function(json) {
for(p in json) {
if(json[p]=='correct')
$("#status_"+p).attr("class", "ui-icon ui-icon-check");
if(json[p]=='incorrect')
$("#status_"+p).attr("class", "ui-icon ui-icon-close");
$('#check_${ id }').attr("value", "Reset");
}
});
} else /* if 'Reset' */ {
// Possible cleanup: Move from getJSON to just load
$.getJSON('/modx/problem/${ id }/problem_reset', {'id':'${ id }'}, function(json) {
$('#main_${ id }').html(json);
});
}
});
$('#check_${ id }').click(function() {
var submit_data={};
$.each($("[id^=input_${ id }_]"), function(index,value){
submit_data[value.id]=value.value;
});
if($('#check_${ id }').attr('value').substring(0,5) != 'Reset') {
$.getJSON('/modx/problem/${ id }/problem_check',
submit_data,
function(json) {
for(p in json) {
if(json[p]=='correct')
$("#status_"+p).attr("class", "ui-icon ui-icon-check");
if(json[p]=='incorrect')
$("#status_"+p).attr("class", "ui-icon ui-icon-close");
$('#check_${ id }').attr("value", "Reset");
}
});
} else /* if 'Reset' */ {
$.getJSON('/modx/problem/${ id }/problem_reset', {'id':'${ id }'}, function(json) {
${ id }_load();
//$('#main_${ id }').html(json);
//MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
});
}
});
});
}
$(function() {
${ id }_load();
});