@phoenix, спасибо! Мы только запустили проект в бета-версии. Очень рад видеть, что вам это нравится.

обилия веб-сервисов и клиентских шаблонных функций jQuery и лайков создание коллажей или сайтов, использующих множество веб-сервисов и отправка данных в эти сервисы, становится чрезвычайно популярным. Для страницы приличного размера с такой архитектурой, скажем, панель инструментов. Каковы полезные методы поддержания этого состояния на стороне клиента. Другими словами, каковы некоторые из способов сделать двухстороннее связывание данных? Пример сценария:

Получить данные из сервиса в формате JSON / XMLОтображать / связывать на интерфейсеЗахватить ввод пользователяПовторно создать запрос из элементов управления UI / HTMLОтправить данные на сервисПолучите ответ и перепроверьте

Ответы на вопрос(3)

Решение Вопроса

которая вызывает службу, возвращает объект и привязывает этот объект к форме с помощью плагина jQuery Templates. Когда форму необходимо отправить, вы можете использовать плагин jQuery Form для отправки в сервис через AJAX и возврата объекта JSON, связать его с контейнером плагинов jQuery Templates (форма).

JQuery AJAX API
http://api.jquery.com/jQuery.ajax/Плагин шаблонов jQuery
http://plugins.jquery.com/project/jquerytemplate
http://api.jquery.com/category/plugins/templates/Плагин jQuery Form
http://jquery.malsup.com/form/

Кроме того, вы можете объединить использование плагина jQuery «Форма» для отправки формы и библиотеку JavaScript KnockOut, которая полностью соответствует типу привязки, которую вы хотите выполнить.

Смотрите подробности библиотеки JS нокаут наhttp://knockoutjs.com/

Первые две функции, перечисленные здесь:

Дефективные привязкиАвтоматическое обновление интерфейса

Смотрите этот живой пример для очень маленького введенияhttp://knockoutjs.com/examples/helloWorld.html

Обновить:

Так как этот ответ получил недавнее одобрение, также важно упомянуть относительно нового ребенка в городе, angularJS, это немного большая структура, которая может делать так много вещей, но двустороннее связывание данных - самая простая вещь Когда-либо.

Официальный URL:http://angularjs.org

Пример:http://docs.angularjs.org/guide/forms

http://gurustop.net

угловатый самый впечатляющий игрок, которого я когда-либо видел для двусторонней привязки данных. Вы можете использовать простые старые объекты JavaScript, прикрепить их к объекту области Angular, а затем привязать область к разделу DOM. Вот пример для Angular 0,9. (Angular 1.0 использует совершенно другой API для достижения того же самого.)

// angular..compile(document.documentElement);
var model = angular.scope();

// add data to the scope object
model.greeting = "Hello, World!";
model.colors = ["red", "green", "blue"];

// hook 'em up
databind(model);

Вы можете использовать угловые выражения в HTML для привязки данных, включая элементы управления формой.

<!DOCTYPE html>
<input name="greeting" />
<span ng:repeat="color in colors" style="color: {{color}}">
  {{color}}
</span>

В этом случае свойство приветствия объектов области обновляется при каждом нажатии клавиши в текстовом поле.

Или, если вы не хотите использовать выражения привязки данных в своем HTML, вы можете сделать все вручную.

model.$watch("greeting", function (value) {
  // when the greeting changes, update the DOM
  $("input[name=greeting]").val(value);
});

Затем каждый раз, когда вы обновляете объект области действия и вызываете $ eval (), если что-то изменилось, слушатели будут уведомлены.

model.greeting = "Hi.";
model.$eval();

И самое приятное, что вы можете вносить изменения во все объекты, связанные с областью действия, вызывать метод $ eval (), и HTML автоматически обновляется.

model.colors.append("yellow");
model.colors.sort();
model.$eval(); // notifies listeners, including bound HTML

Нокаут JS уступает потому что вместо того, чтобы работать с простыми объектами JavaScript, массивами, строками и числами, вы должны создать экземпляры егоObservable а такжеObservableArray классы, чтобы сделать привязку данных.

Наслаждайтесь!

http://lava.codeplex.com). У этого есть очень хорошая привязка данных, и это очень ненавязчиво использовать. Он также поддерживает выборку / публикацию данных на сервере.

 tjscience10 сент. 2013 г., 18:02
@phoenix, спасибо! Мы только запустили проект в бета-версии. Очень рад видеть, что вам это нравится.
 stringparser10 сент. 2013 г., 00:23
Продолжай работать над этим человеком. Намного легче, чем другие привязки данных, которые я видел. И понятнее.

Ваш ответ на вопрос