Knockout.js 解决不一致问题剔除已检查绑定
我正在努力摆脱淘汰赛的束缚。看这个 我的两个问题是:Knockout.js 解决不一致问题剔除已检查绑定,knockout.js,Knockout.js,我正在努力摆脱淘汰赛的束缚。看这个 我的两个问题是: 如何使“选定值”成为带有复选框/无线电输入的富JS对象?对于其他输入类型和绑定,所选值可以是富类型。但是复选框/单选按钮只能是一个简单的字符串值 一般来说,我从数据库中有几个查找列表,它们是映射数组。例如,在小提琴示例中,我列出了一个国家列表: [ {countryName: "UK", countryPopulation: 650000000}, {countryName: "USA", countryPopulation: 170
[
{countryName: "UK", countryPopulation: 650000000},
{countryName: "USA", countryPopulation: 1700000000},
{countryName: "Canada", countryPopulation: 320000000}
]
对于几乎所有的表单输入,我都希望“selected value”是一个富JS对象。在fiddle的单选按钮示例中,我希望selectedCustomerType为:
{label: 'Acquiring', value: 'A'}
不仅仅是:
'A'
您已选择客户类型
.
但在输出中不显示selectedCustomerType。如何正确初始化selectedCustomerType?使用KO 3.0,您现在可以使用
checkedValue
绑定和checked绑定来具体指定值(而不是设置元素的value`属性并将其值用作字符串)
因此,您现在可以执行以下操作:
data-bind='checkedValue: $data, checked: $root.selectedCustomerType'
通过该更改,您现在可以仅使用self.availableCustomerTypes()[0]
对其进行初始化
更新小提琴:
有关其他信息,请在此处查找checkedValue
:对于KO 3.0,现在可以使用checkedValue
绑定和checked绑定来具体指定值(而不是设置元素的value`属性并将其值用作字符串)
因此,您现在可以执行以下操作:
data-bind='checkedValue: $data, checked: $root.selectedCustomerType'
通过该更改,您现在可以仅使用self.availableCustomerTypes()[0]
对其进行初始化
更新小提琴:
有关其他信息,请在此处查找checkedValue
:对于KO 3.0,现在可以使用checkedValue
绑定和checked绑定来具体指定值(而不是设置元素的value`属性并将其值用作字符串)
因此,您现在可以执行以下操作:
data-bind='checkedValue: $data, checked: $root.selectedCustomerType'
通过该更改,您现在可以仅使用self.availableCustomerTypes()[0]
对其进行初始化
更新小提琴:
有关其他信息,请在此处查找checkedValue
:对于KO 3.0,现在可以使用checkedValue
绑定和checked绑定来具体指定值(而不是设置元素的value`属性并将其值用作字符串)
因此,您现在可以执行以下操作:
data-bind='checkedValue: $data, checked: $root.selectedCustomerType'
通过该更改,您现在可以仅使用self.availableCustomerTypes()[0]
对其进行初始化
更新小提琴:
有关更多信息,请在此处查找checkedValue
:谢谢。这让我达到了95%。这让我开始深入研究有点神秘的$data变量。然而,不幸的是,在您的小提琴示例中,请注意,第21行从未绑定或更新。我希望它最初设置,当所选单选按钮更改时,它将更改。为什么不起作用?再次感谢!另一件事……当您在提供的小提琴中检查实际的DOM时,查看实际的无线电标记值会设置为字符串[object object],而不是实际的对象本身。在这两种情况下,我们都希望实际值仍然设置为“A”或“N”,但选择了CustomerType作为基础对象。我更新了小提琴。您可以使用attr:{value:value}
来确保value
属性设置正确。对于另一个问题,您需要在span
上使用文本
绑定,并且需要使用数据绑定=
而不是数据绑定:
谢谢。这让我达到了95%。这让我开始深入研究有点神秘的$data变量。然而,不幸的是,在您的小提琴示例中,请注意,第21行从未绑定或更新。我希望它最初设置,当所选单选按钮更改时,它将更改。为什么不起作用?再次感谢!另一件事……当您在提供的小提琴中检查实际的DOM时,查看实际的无线电标记值会设置为字符串[object object],而不是实际的对象本身。在这两种情况下,我们都希望实际值仍然设置为“A”或“N”,但选择了CustomerType作为基础对象。我更新了小提琴。您可以使用attr:{value:value}
来确保value
属性设置正确。对于另一个问题,您需要在span
上使用文本
绑定,并且需要使用数据绑定=
而不是数据绑定:
谢谢。这让我达到了95%。这让我开始深入研究有点神秘的$data变量。然而,不幸的是,在您的小提琴示例中,请注意,第21行从未绑定或更新。我希望它最初设置,当所选单选按钮更改时,它将更改。为什么不起作用?再次感谢!另一件事……当您在提供的小提琴中检查实际的DOM时,查看实际的无线电标记值会设置为字符串[object object],而不是实际的对象本身。在这两种情况下,我们都希望实际值仍然设置为“A”或“N”,但选择了CustomerType作为基础对象。我更新了小提琴。您可以使用attr:{value:value}
来确保value
attr