knockoutjs将多个输入元素绑定到一个observable

时间:2012-06-21 11:41:36

标签: javascript knockout.js

我想将两个或多个输入元素绑定到viewModel的一个observable属性。

例如,我可能有一个名为电话号码的属性,它由区号和号码组成。我想显示两个用于用户输入的文本框,它将更新viewmodel中的单个observable(它可以存储为逗号分隔的字符串或数组)。我不想拥有多个属性,然后拥有电话号码的计算属性,因为我不知道将向用户显示多少个文本框用于输入(使用模板动态生成)。

有可能实现吗?谢谢!

编辑:这是更好地理解http://jsfiddle.net/amitava82/wMH8J/2/

的小提琴

1 个答案:

答案 0 :(得分:0)

如果您的数据合并为一个observable,则需要一些解析或拆分数据。一种方法是使用计算机。如果您想要3个(只是选择一个数字)电话号码的文本框,并且它们都指向1个可观察的电话号码,您可以为部件创建读/写计算属性并将它们绑定到输入文本框。例如,区域代码文本框将绑定到计算的被叫areacode,该isacode读取电话号码的前3个字符。它的可写方面只是简单地将这3个写回到phonenumber observable。