在dojo中渲染动态添加的dijit元素

时间:2012-06-21 03:51:48

标签: dojo dijit.form

我已经在我的页面中动态添加了一个dijit.form.filteringSelect类型的选择框。 我在一些按钮点击时调用了ajax请求,并且从ajax请求返回的内容包含dijit.form.filteringSelect的选择框。选择框显示但不显示为dijit元素。它显示为没有dijit样式的选择框的普通html选择框。 我的页面是这样的:

<head>
<style type="text/css">
    @import "dojo-1.7/dijit/themes/claro/claro.css";
    @import "dojo-1.7/dojo/resources/dojo.css";
    @import "dojo-1.7/dojox/grid/resources/claroGrid.css";
</style>
<script type="text/javascript" src="dojo-1.7/dojo/dojo.js" data-dojo-config="parseOnLoad: true"></script>
<script type="text/javascript">
    dojo.require("dijit.form.FilteringSelect");
</script>
</head>
<body class="claro">
//ajax output appended to body after some button click
 <select id="testSelect" data-dojo-type="dijit.form.filteringSelect">
     <option value="">...</option>
 </select>
</body>

我认为问题在于渲染。在我的情况下,如何使用像php这样的服务器端脚本动态添加dijit元素时,如何渲染dijit元素。我是否正确完成了解析?

1 个答案:

答案 0 :(得分:0)

如果您知道新节点的id,则可以仅为该节点调用dojo解析器。

dojo.parser.parse("testSelect");

http://dojotoolkit.org/reference-guide/1.7/dojo/parser.html#examples