/** * @file * with edits to cater for left to right grouping positions */ (function($) { var members = new Array(); var groups = new Array(); var answer_fields = new Array(); $(document).ready(function() { var reg = /quiz-grouping-member-([0-9]*)/; $('.quiz-grouping-member').each(function() { var id = $(this).attr('id').replace(reg, "$1"); members[id] = new Array(); // name of the member members[id][0] = $(this).text(); // group member is in members[id][1] = ''; // a reference to the member's div members[id][2] = this; // false if not positioned yet members[id][3] = false; }); var reg2 = /quiz-grouping-group-([0-9]*)/; $('.quiz-grouping-group').each(function() { var id = $(this).attr('id').replace(reg2, "$1"); groups[id] = new Array(); groups[id][0] = $(this).text(); groups[id][1] = $(this).position().top; groups[id][2] = $(this).position().left; // remember left element groups[id][3] = $(this).height(); // remember height groups[id][4] = $(this).width(); // remember width }); //var reg3 = /edit-tries-([0-9]*)-user-answers/; var reg3 = /tries\[([0-9]*)\]\[user_answers\]/; $('.quiz-grouping-answer-field').each(function() { var id = $(this).attr('name').replace(reg3, "$1"); answer_fields[id] = this; if ($(this).val().length > 0) { // already answers in here var answers = $(this).val().split(','); for (var aid = 0; aid groups[i][1]) { members[id][1] = groups[i][0]; }*/ // if the members top position is between the groups top position and bottom position(top+height-20) if ($(this).position().top > groups[i][1] && $(this).position().top < ((groups[i][1] + groups[i][3])-20)) { //and if the members left position is between the groups left position and right position(left+width+30) if ($(this).position().left > groups[i][2] && $(this).position().left < ((groups[i][2] + groups[i][4])-20)) { members[id][1] = groups[i][0]; } } } for (var j = 1; j < groups.length; j++) { $(answer_fields[j]).val(''); for (var k = 0; k 1) { // remove the trailing comma $(answer_fields[j]).val($(answer_fields[j]).val().substr(0,$(answer_fields[j]).val().length-1)); } } }); }); }(jQuery));