我正在使用roo
生成.jspx
个文件的dojo小部件。以下是我的代码部分
<form:select name="halfOrFulDay" id="_monitoringType_id${rowCounter.count}" Style="width:120px" onchange="someProcess()">
<form:option value="--Select--" selected="selected">--Select--</option>
<form:option value="Half Day" >Half Day</option>
<form:option value="Full Day" >Full Day</option>
<form:option value="None" >None</option>
</form:select>
<script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_monitoringType_id${rowCounter.count}', widgetType: 'dijit.form.FilteringSelect', widgetAttrs : {promptMessage: 'In Complete Data',hasDownArrow : true}})); </script>
我的问题是,一旦我应用Spring.addDecoration(),我就无法触发 onchange 事件。我可以在 widgetAttrs 中设置任何属性吗?类似的东西:
widgetAttrs:{ onchange:someProcess ,promptMessage:'在完整数据中',hasDownArrow:true}
答案 0 :(得分:3)
dijit.form.FilteringSelect不是常规的dom节点。这是一个dijit小部件...... 它的onchange事件附加到小部件模板的特定dom节点,并附加到小部件的扩展点“onChange”(注意大写C)。
你的榜样应该是:
<script type="text/javascript">
Spring.addDecoration(new Spring.ElementDecoration({
elementId : '_monitoringType_id${rowCounter.count}',
widgetType: 'dijit.form.FilteringSelect',
widgetAttrs : {
promptMessage: 'In Complete Data',
hasDownArrow : true,
onChange : function(evt) {
// Your event code here
}
}
}));
</script>
你应该在这里阅读:http://dojotoolkit.org/reference-guide/quickstart/writingWidgets.html#creating-extension-points
对于您通过spring使用的任何小部件,您可以在此处找到相应的文档:http://dojotoolkit.org/api/
只需展开“dijit”树节点,然后选择您的小部件,然后在“事件摘要”部分查看它支持的自定义事件列表。