淘汰赛:在具有数据绑定属性的标签标签中嵌套输入元素
Knockout: nest input element in label tag with data-bind properties
我想使用 label
标签而不将 for
属性映射到 input
的 id
,如 w3c 所述。喜欢:
<label>
<input type="...">
</label>
现在我试着让它与 knockout 一起工作。
我的模特:
function myViewModel(data) {
this.Name = "Max";
this.Value = "1337";
}
我的第一个方法是:
<label data-bind="text: Name">
<input data-bind="value: Value" />
</label>
但是 label
的数据绑定当然会覆盖其内容。所以 input
不会出现。
演示:https://jsfiddle.net/f49c32zx/
问题:我怎样才能得到这份工作?
我没有尝试将具有所有属性和值的整个 input
元素作为我模型的 属性 的值 - 这让我感觉不太好。
<label> <!-- ko text: Name --><!-- /ko -->
<input data-bind="value: Value" />
</label>
您可以在 label 标签内放置一个 span 或虚拟标签,并将文本绑定放在该内部标签上。
<label>
<!-- ko text: Name --><!-- /ko -->
<input data-bind="value: Value" />
</label>
我想使用 label
标签而不将 for
属性映射到 input
的 id
,如 w3c 所述。喜欢:
<label>
<input type="...">
</label>
现在我试着让它与 knockout 一起工作。
我的模特:
function myViewModel(data) {
this.Name = "Max";
this.Value = "1337";
}
我的第一个方法是:
<label data-bind="text: Name">
<input data-bind="value: Value" />
</label>
但是 label
的数据绑定当然会覆盖其内容。所以 input
不会出现。
演示:https://jsfiddle.net/f49c32zx/
问题:我怎样才能得到这份工作?
我没有尝试将具有所有属性和值的整个 input
元素作为我模型的 属性 的值 - 这让我感觉不太好。
<label> <!-- ko text: Name --><!-- /ko -->
<input data-bind="value: Value" />
</label>
您可以在 label 标签内放置一个 span 或虚拟标签,并将文本绑定放在该内部标签上。
<label>
<!-- ko text: Name --><!-- /ko -->
<input data-bind="value: Value" />
</label>