По сути, у меня есть анкета, которая очень динамична и основана на данных ...
для каждого вопроса я могу иметь
номер вопроса,
0 или более опций переключателей,
0 или более вариантов флажков,
тогда для каждой опции переключателя у меня будет
идентификатор опции,
значение
и для каждого флажка опции у меня будет
идентификатор опции,
значение
и для каждого варианта, который является текстовой области, у меня будет
идентификатор опции,
значение
Если у меня нет вариантов, у меня может быть группа переключателей да нет, которая будет иметь
идентификатор вопроса,
значение
Если у меня нет вариантов, у меня также может быть текстовая область, которая будет иметь
идентификатор вопроса,
значение
У меня все отображается так, как я хочу, и мои изменения и нажатия в jquery запускаются, когда я ожидаю, что они ...
Проблема В моем JQuery на данный момент я пытаюсь найти способ сохранить ответы на все эти вопросы по мере их ответа, и если они изменяются, обновите или замените то, что я ранее хранил ...
Как только пользователь завершит работу с ответами и отредактирует их соответствующим образом, я опубликую jquery / json на моем контроллере в моем решении на основе mvc3; если я смогу понять, какая структура Jquery мне нужна, я понял, что мне пора ...
Подход к структуре, необходимой для этого в JQuery, вызывает у меня головную боль ...
В данный момент я думаю о чем-то вроде следующего ...
var $ArrayToPost = [];
var $questionare =
{
Questions: {
QuestionNumber: null,
Options: [],
YesNo: [],
TextArea: []
}
};
$('input.Questionare, textarea.Questionare').live({
click: function (e) {
...rest omitted for brevity...
$questionare.Questions.QuestionNumber = $QuestionNbr;
$questionare.Questions.Options.push($CheckBox);
$ArrayToPost.push($questionare);
...rest omitted for brevity...
change : function (e) {
...rest omitted for brevity...
});
Проблема, с которой я сталкиваюсь при таком подходе, заключается в том, что всякий раз, когда устанавливается флажок, переключается кнопка или изменяется значение в текстовой области, мне необходимо выяснить, что я уже добавил в структуру для соответствующего номера вопроса, и либо обновить любое применимо или просто заменить то, что применимо ...
Я думаю, что я слишком усложняю это и определенно хотел бы более элегантный подход ...
спасибо заранее.
ОБНОВЛЕНИЕ: Все еще не придумали способ добиться этого, надеюсь, кто-нибудь может заставить меня двигаться в правильном направлении ...