如何将Angularjs变量传递给html输入id?

时间:2016-12-23 00:03:46

标签: javascript html angularjs

我正在添加带有angularjs ng-repeat的复选框,如下所示:

<div class="checkbox-circle" ng-repeat="t in tenders">
  <input type="checkbox" checklist-model="contratacion.select" checklist-value="t.id" id="t.id">
  <label for="t.id">{{t.name}}</label>
</div>

其中&#34;招标&#34;是一个名为&#34; name&#34;的数组。和&#34; id&#34;属性。问题是输入的id值没有通过循环改变,结果复选框具有相同的id值。我错误地将id值传递给输入?期待&#34; t.id&#34;是不对的。改变输入id?

2 个答案:

答案 0 :(得分:3)

在用于普通文本的非角度属性中使用相同的花括号表示法,即:

<div class="checkbox-circle" ng-repeat="t in tenders">
  <input type="checkbox" checklist-model="contratacion.select" checklist-value="t.id" id="{{t.id}}">
  <label for="{{t.id}}">{{t.name}}</label>
</div>

答案 1 :(得分:1)

是的,你错了;这是因为id是一个标准属性,t.id只是一个简单的属性。要使Angular将此值转换为预期的id,您需要使用插值:id="{{t.id}}"

您尝试使用的方法是一个Angular表达式,该表达式仅对某些属性有效,其中指令(例如checklist-value)允许它;否则,您需要使用{{<expression>}}方式来评估您的价值。