Лучший способ добавить эти переменные в массив или JSON для отправки? - PullRequest
0 голосов
/ 24 октября 2019

Они в конечном итоге перейдут к [Веб-методу] (asmx)

Вот код:

$("#LessonContent").contents().find("span[class*='questionnumberincorrectsetting']").each(function() {
  alert($(this).html());
});
$("#LessonContent").contents().find("span[class*='questiontextincorrectsetting']").each(function() {
  alert($(this).html());
});
$("#LessonContent").contents().find("span[class*='textfeedbackincorrectsetting']").each(function() {
  alert($(this).html());
});

Хорошо, так что здесь три цикла, все выбирающие разные вещи,но они все текстовые, поэтому html () получает то, что мне нужно.

КАЖДЫЙ из них вернет точно такой же объем информации. Если первый цикл повторяется 4 раза, то остальные будут гарантированно повторяться 4 раза. Вы поняли.

Структура выглядит следующим образом:

Question Number:

Question Text:

Question Feedback:

Эти три элемента составляют один объект, который объединяется.

Повторите для количества вопросов настраницы.

Как мне лучше всего их хранить? Смогу ли я динамически добавлять их вместе на основе массива и ключа? Лучше попробовать использовать объекты JSON?

Нужна ли переменная счетчика?

Спасибо!

1 Ответ

0 голосов
/ 25 октября 2019

Назначить каждую коллекцию переменным. Затем выполните цикл по одной из коллекций и соберите соответствующие индексы из всех коллекций.

var contents = $("#LessonContent").contents();
var qnumbers = contents.find("span[class*='questionnumberincorrectsetting']");
var qtext = contents.find("span[class*='questiontextincorrectsetting']");
var qfeedback = contents.find("span[class*='textfeedbackincorrectsetting']");
var questions = qnumbers.map((i, el) => ({
    number: el.innerHTML,
    text: qtext[i].innerHTML,
    feedback: qfeedback[i].innerHTML
})).get();

Это создаст массив объектов в нужной структуре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...