2012-04-09 98 views
0

我已经使用我的代码jsfiddle http://jsfiddle.net/dorraba/HuDPJ/ 我想创建一个简单的购物车,我可以添加和删除项目。 我的意图是产品将是一个对象(名称和价格) 购物车将保存一个项目列表,其中每个项目都是从产品和数量构建的。Knockout复杂变量不具约束力

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

任何帮助将是伟大的。 谢谢。

回答

2


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

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

如果父项(在此例中为Price)的计算结果为未定义,那么绑定到嵌套属性(如Product.Price)将导致错误。 因此,你需要测试,如果产品被定义......是这样的:data-bind="value: (Product() ? Product().Price : '')"

这是你的jsfiddle的工作方案:http://jsfiddle.net/HuDPJ/1/