在淘汰赛中为每个内部访问选项属性

时间:2013-11-20 11:22:54

标签: knockout.js template-engine

我在下面的示例中想知道如何访问AttributeType的相关$parent.contactFields属性?

因为$ data会查找fieldCouplings而非$parent.contactFields

<ul data-bind="foreach: fieldsCouplings">
   <li>
      <h5 data-bind="text: DisplayName"></h5>                            
      <label>Contact field: <select data-bind="options: $parent.contactFields, optionsText: $data.AttributeType"></select></label>
   </li>
</ul>

我似乎也无法在文档中找到任何合适的Binding上下文。

我想看看optionsText为0,1和2

以下是一个示例小提琴:http://jsfiddle.net/makeitmorehuman/86PqH/3/

1 个答案:

答案 0 :(得分:0)

optionsText中,您需要将属性名称作为字符串传递,在您的情况下'AttributeType'

<select data-bind="options: $parent.contactFields, optionsText: 'AttributeType'">

演示JSFiddle

选项绑定的文档中描述了这一点:Drop-down list representing arbitrary JavaScript objects, not just strings

稍后在parameters部分:

  

optionsText

     

参见上面的示例3,了解如何将选项绑定到数组   任意JavaScript对象 - 不仅仅是字符串。在这种情况下,你需要   选择应将哪些对象的属性显示为   下拉列表或多选列表中的文本。示例3显示了如何   您可以通过传递其他参数来指定该属性名称   叫选项文本。