在Dojo中呈现动态添加的dijit元素

yhuiod9q  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(143)

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

<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>

我认为问题出在渲染上。当dijit元素是用服务器端脚本动态添加的时候,我怎么渲染它们呢?我的解析正确吗?

xfb7svmp

xfb7svmp1#

如果您知道新节点的id,就可以只为该节点调用Dojo解析器。

dojo.parser.parse("testSelect");

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

相关问题