JavaScript: алгоритм или метод для привязки массива объектов к отображению DOM? - PullRequest
1 голос
/ 14 декабря 2010

Добро:

Мы отправляем JSON-массив вложенных объектов, используя JQuery и .ajax (). Мы используем шаблоны JQuery и Microsoft для визуализации контента. Он отправляет 100 объектов за 400 мс. Это намного быстрее, чем наш эквивалентный сервер рендеринга 50 продуктов за 10 секунд.

Сложность:

Нам необходимо привязать массив объектов JavaScript к HTML-элементам DOM, которые он представляет, то есть изменения во входных данных html отразятся обратно на объект JavaScript. Наша сложность заключается в том, что наши объекты являются вложенными и содержат только выбранные параметры:

Product[].Department[].deptid;
// We only store the departments for which this product participates

Мы попытались связать данные Microsoft, используя JQuery, для которого необходимы свойства объекта и элементы html, чтобы связать их вместе. Это не очень хорошо для вышеуказанной ситуации. Мы могли бы сделать это:

Product[].Department[].Dept.id;
Product[].Department[].Dept.name;
Product[].Department[].Dept.selected;  // true if selected, false if not
// This requires all possible options in all needed products.  Yuck

Есть ли примеры того, как лучше всего связать массив вложенных объектов JavaScript с HTML-элементами, которые они представляют?

Мы не отправляем элементы формы обратно на сервер. Вместо этого мы собираем их в массив JSON и отправляем обратно на сервер. Работает очень быстро, но сборка утомительна.

1 Ответ

3 голосов
/ 14 декабря 2010

Трудно точно определить, с чем у вас возникают проблемы, из вашего описания, но кажется, что есть две вещи, которые могут помочь:

1) Вы можете хранить данные в элементе dom, используя данные jQuery() метод http://api.jquery.com/data/

2) Вы можете получить значение элемента формы, используя событие change () и метод val ().(Вы также можете найти их в документации API.)

Но кажется, что вы можете столкнуться с чем-то более простым, например, с вопросом о том, как узнать, какой объект Javascript связан с элементом формы.Это тот случай?

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