如何在dijit / form小部件中使用html标签?

时间:2013-02-13 21:06:38

标签: dojo dijit.form

好的,所以我正在使用Dojo 1.8构建一个应用程序,我有一个自定义小部件,其模板类似于此...

<div>
  <label for="tag">Select something: </label>
  <select id="tag"
      data-dojo-attach-point="tag"
      data-dojo-type="dijit/form/Select">
    <option value="0">option 0</option>
    <option value="1">option 1</option>
  </select>
</div>

但是,当渲染模板时,窗口小部件定义了一个新的id,这使得标记无效。我尝试使用谷歌搜索,但我的所有搜索都直接指向Dojo文档,因为它们具有称为标签的属性,但与HTML标签标签无关。

这样做的原因是什么?

1 个答案:

答案 0 :(得分:1)

在您描述的情况下,您只需将标签放在&lt; select&gt; 周围,然后使用for / id属性进行处理。请参阅Stackoverflow问题:

此外,如果您想在窗口小部件模板中实际使用ID,请参阅:

不鼓励直接使用ID(即,对它们进行硬编码,而不是像上面链接那样即时分配它们)。这样做的原因是模板意味着在创建小部件时反复使用。

理论上,它可以用于在一个页面上创建多个小部件。因此,在这种情况下,您将遇到ID冲突。

在任何一个页面上的每个HTML ID都必须是唯一的。