莫里斯.JS在 xPages 刷新中
Morris.JS in xPages Refresh
我们使用BootCards。我有一个用于莫里斯.js图的自定义控件。我找到了一种从重复控件中获取所选文档数据的方法。
我的问题是刷新另一个文档的图形。当我将自定义属性"ajaxload"设置为"否"时,页面刷新并显示我的图形。并非重复控件中的所有条目都更改了图形。所选项目跳转到第一个项目。
我可以在哪里放置 morris 的重绘或 setdata 函数.js以便无需刷新即可使用 AJAX 函数。
谢谢!
<script
src="unp/raphael.min.js"
type="text/javascript">
</script>
<script
src="unp/morris.min.js"
type="text/javascript">
</script>
<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[
var chartDataCalc =
#{javascript:var chartData = [];
var val = docview1.getItemValueArray(compositeData.barvalue);
var name = docview1.getItemValueArray(compositeData.barname);
for (var i=0; i<name.length; i++) {
chartData.push( {label : name[i], value : val[i]});
}
return toJson(chartData)
};
var chartBar =
Morris.Bar({
element: #{javascript:compositeData.divid},
data: '',
xkey: 'label',
ykeys: ['value'],
labels: ['#{javascript:compositeData.barlabel}'],
resize: true,
redraw: true
});
chartBar.setData(chartDataCalc, 'True');
]]>
</xp:this.value>
</xp:scriptBlock>
如果我理解正确,您正在执行部分刷新以更新重复控件,然后在刷新发生后重新绘制。XPages有两种方法可以做到这一点:
- 如果您在部分刷新事件中运行 SSJS/Java 代码,则 view.postScript(") 可用于编写 CSJS,以便在处理完 SSJS 脚本后运行。该参数是一个可以解析为 CSJS 的字符串,例如"alert('Hello World!')"。
- 如果在大纲或源代码窗格中选择 eventHandler(后者是我的首选项),您将在"属性"窗格中看到 eventHandler 具有 onComplete 属性,该属性可以运行 CSJS。
相关文章:
- 强制模板刷新ember.js
- 如何通过ajax刷新JSF填充的javascript变量
- 如何解决Yii中的页面刷新问题
- Jquery提交表单而不刷新
- 刷新页面后会出现警报
- 刷新后保留对网页的更改
- 如何在不刷新页面的情况下更新显示框
- 重定向时角度刷新浏览器
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- Javascript,输出结果后页面不断刷新
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 刷新父窗口后无法关闭窗口
- 刷新页面时hasClass不起作用
- X秒后刷新select元素
- chart.series[id].remove()无法刷新高位图表/高位股票中其他系列的图例属性
- 触发媒体查询断点时刷新页面
- 如何刷新列表框内容onclick或blur事件
- 如何在火狐浏览器中禁用F5和刷新
- 刷新后,setTimeout将工作或不工作
- 莫里斯.JS在 xPages 刷新中