首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当id和For属性绑定时,标签上的属性不与单击上的相关输入交互。

当id和For属性绑定时,标签上的属性不与单击上的相关输入交互。
EN

Stack Overflow用户
提问于 2016-11-28 20:27:24
回答 1查看 263关注 0票数 2

我有一个相当简单的组件,应该输出一个复选框和标签。组件上有四个输入:idnamelabelvalue

下面是标记:

代码语言:javascript
复制
<div class="checkbox col-xs-12" *ngIf="id && name && label && value">
    <input type="checkbox" [id]="id" [name]="name" [value]="value">
    <label [for]="id" id="{{id}}-label" aria-label="not here">{{label}}</label>
</div>

当输入上的id属性和标签上的for属性通过[]绑定到数据时,单击label就什么都不会做。

如果我硬编码idfor属性,它们就能正常工作。

使用[attr.id][attr.for]产生相同的非工作结果。

这里发生什么事情?

得到的html正是您所期望的:

代码语言:javascript
复制
<div _ngcontent-wam-3="" class="checkbox col-xs-12">
    <input _ngcontent-wam-3="" type="checkbox" ng-reflect-id="bob" id="bob" ng-reflect-name="bobby" name="bobby" ng-reflect-value="true" value="true">
    <label _ngcontent-wam-3="" aria-label="not here" ng-reflect-html-for="bob" for="bob" ng-reflect-id="bob-label" id="bob-label">Checkbox 1</label>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-03 16:37:46

这个错误是因为自定义元素上的id属性在实际复选框或单选按钮上的结果id属性之前。将id输入更改为idStr使一切按预期工作。

示例:

代码语言:javascript
复制
<my-checkbox name="bob" value="true" idStr="bob1" label="For Bob"></my-checkbox>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40852850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档