我在项目列表上运行.each()并在HTML中对这些项目进行分类。在之后的函数中,我正在检查哪些项目被选中(复选框)。在我的函数(prepareTrainings();)中查找检查了哪些框,我需要它来显示.each()的结果中的数据。基本上,如果用户选中了X复选框,则显示该项目的课程名称和URL ...
我的问题:我不确定什么是最佳做法。我应该创建一个对象来将这些值存储在我的if(trainingGroup等)语句中吗?
INSERT INTO sc_trln (doc_ref, doc_type, item, qty, unit, factor, unit_cost, cost_per_unit, item_tot, item_name)
VALUES ('SA/000091', 'SA', '006824', '-2.000', 'PCS ', '1.000', '0.6446', '0.6446', '-1.2892', 'ALALAI ORANGE JAMS 465GM')
}
答案 0 :(得分:0)
将处理过的对象保存在全局var
中是有道理的。定义例如像这样的对象:
var courses = {};
然后在您的.each
函数中,像您一样从HTML元素中提取信息,并将每个结果存储在另一个对象中:
$.each(data.d.results, function(index) {
var $this = $(this);
var course = {}; //Create empty object
course.name = $this.attr('Title');
course.number = $this.attr('Course_x0020_Number');
course.url = $this.attr('URL');
course.trainingGroup = $this.attr('Training_x0020_Group');
course.recurrence = $this.attr('Recurrence');
course.id = course.name.replace(/\s+/g, '')
//Store your course by id in the courses object
courses[course.id] = course;
//...
稍后检查选中的复选框时,您可以检索每门课程的信息,如下所示:
var checkedIDs = $(":checkbox:checked").map(idSelector).get();
var course = courses[checkedIDs[0]]; //fetches the first selected course
//Now you can do whatever with the data, like print lists...
(...).innerHTML += '<ul class="courseLists"><li><input type="checkbox" id="'+course.id+'"/>'+course.name+course.recurrence+'</li></ul>';
如果不发表评论,我希望我能正确理解你的问题。