Knockout Complex变量没有绑定

时间:2012-04-09 07:33:02

标签: javascript knockout.js

我已经用我的代码制作了一个jsfiddle http://jsfiddle.net/dorraba/HuDPJ/ 我想创建一个简单的购物车,我可以添加和删除项目。 我的意图是产品将成为一个对象(名称和价格) 购物车将保存一个项目列表,其中每个项目都是根据产品和数量构建的。

我的问题是我无法找到一种方法来设置文本框价格按每行下拉列表中选择的产品。

任何帮助都会很棒。 感谢。

1 个答案:

答案 0 :(得分:2)


你应该对输入元素使用值绑定,否则你会得到一个DOM错误。

此外,您已将选项绑定的optionsValue属性设置为'Name',这将导致knockout将ShoppingCartItem.Product的值设置为产品名称。

如果父项(在本例中为Product.Price)求值为undefined,则绑定到Price等嵌套属性将导致错误。 因此,您需要测试Product是否已定义......如下所示:data-bind="value: (Product() ? Product().Price : '')"

以下是您的jsfiddle的工作解决方案:http://jsfiddle.net/HuDPJ/1/