我有以下用于列出月份的下拉菜单的代码。
<select>
{{ for( var col = 0; col < d.colCount; col++ ) { }} <!-- This is the way adding js code -->
<option value="[Time].[Month].[month].[{{=d.colLabel(col) }}]">{{=d.colLabel(col) }}</option>
{{ } }}
当用户选择一个选项时,应该触发一个名为 Month 的事件。我如何在 icCube OLAP 中做到这一点。
最佳答案
有几种可能性可以实现所需的功能
单元格点击功能
有一个特殊属性,允许单击名为ic3a的特定数据单元格 read more...
<select>
{{ for( var col = 0; col < d.colCount; col++ ) { }}
<option ic3a="fireClick(0,{{=col}})" value="[Time].[Month].[month].[{{=d.colLabel(col) }}]">
{{=d.colLabel(col) }}
</option>
{{ } }}
</select>
您应该在选项的“事件”选项卡中为“单击单元格时”指定事件名称:“月”。
外部代码
如果您有权访问 ic3Reporting 实例
例如:
var ic3Application = ic3.startReport(options);
并且想要使用站点上的代码处理当前功能,您可以通过以下方式触发 ic3 内部事件:
<script type="text/javascript">
//get ic3application instance
var ic3Application = ic3.startReport(options);
function selectMonth (value) {
ic3Application.fireEvent("month", new viz.event.ValueEvent(value))
}
</script>
<select onchange="selectMonth(this.value)">
{{ for( var col = 0; col < d.colCount; col++ ) { }}
<!-- This is the way adding js code -->
<option value="[Time].[Month].[month].[{{=d.colLabel(col) }}]">
{{=d.colLabel(col)}}
</option>
{{ } }}
</select>
ic3 过滤器小工具
适合当您想要从多维数据集获取预定义月份的列表时。 添加 MDX 过滤器 > ICCUBE > 下拉小部件并按需要的方式配置其设置。
ic3 ACTION 小部件
当您有特定的月份列表时,此选项适合。
只需创建“工具/实用程序”>“操作”>“下拉小部件”,并在“项目向导”选项选项卡中提供所需的月份,并在“事件”选项卡中将“月份”设置为“选择时”事件名称的值。
关于html - 如何从 icCube 中的 html 下拉列表触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36876698/