编程语言
首页 > 编程语言> > java-在事件触发时使用dojo和HTML冲突的Spring.addDecoration

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