java-在事件触发时使用dojo和HTML冲突的Spring.addDecoration
作者:互联网
我正在使用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:“ In Complete Data”,hasDownArrow:true}
解决方法:
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”树节点,然后选择您的窗口小部件,然后在“事件摘要”部分中查看它支持的自定义事件列表即可.
标签:dojo,java,spring-mvc 来源: https://codeday.me/bug/20191202/2085733.html