JavaScript:将对象数组绑定到DOM显示的算法或方法?

时间:2010-12-14 19:21:56

标签: jquery templates data-binding

好的:

我们使用JQuery和.ajax()发送嵌套对象的JSON数组。我们使用JQuery和Microsoft模板来呈现内容。它在400毫秒内发送100个对象。这比我们在10秒内对50个产品的等效服务器渲染要快得多。

困难:

我们需要将JavaScript对象数组绑定到它所代表的DOM html元素,即对html输入的更改将反映回JavaScript对象。我们的困难是我们的对象是嵌套的,并且只包含选定的选项:

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

我们尝试使用JQuery进行Microsoft数据链接,这需要存在对象属性和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 个答案:

答案 0 :(得分:3)

很难确切地从您的描述中确切地知道您遇到了什么问题,但似乎有两件事可能会有所帮助:

1)您可以使用jQuery的data()方法http://api.jquery.com/data/

将数据存储在dom元素上

2)您可以使用change()事件和val()方法获取表单元素的值。 (您也可以在API文档中找到它们。)

但似乎你可能会遇到更基本的东西,比如如何知道哪个Javascript对象与表单元素一起使用的问题。是这样的吗?