我目前在Microstrategy工作,这是一个BI工具平台,我正在尝试从上下文菜单中自动点击。由于某种原因,我无法使用代码自动触发点击。我希望我能得到帮助来弄清楚"这个"这样我就可以通过它。最终目标是传递要删除的任何grid_K47和页面刷新。下面点击菜单点击现实生活强制页面刷新,这是我想要它做的。
这就是我所知道的。
右键单击之前的对象位于表格中并显示此对象。请记住,这是所有MSTR渲染代码。
这是我右键点击的地方
<td id="grid_K47_0_1_1_1" class="c4_K47" dpt="1" dg="TRUE" ds="Area" oid="4216C7074826CF50BC81B8BDEFB99603" style="cursor: pointer; opacity: 0.5;" frmid="CCFBE2A5EADB4F50941FB879CCF1721C" title="Area. Drag object to perform pivot. Right-click for more options" frmlist="ID45C11FA478E745FEA08D781CEA190FE520DESCCCFBE2A5EADB4F50941FB879CCF1721C1-1" or="V" sty="ATT" fe="h1;4216C7074826CF50BC81B8BDEFB99603;UK & Ireland" ax="1" frmname="DESC" oty="12" mx="1" cx="[11,15,16,17,18,19,20,4,26,4,4,29,30,31,32,33,36,37,38]">Area</td>
然后上下文菜单拉起并有此部分
<tr id="cm1r10" height="18" style="cursor: pointer;" li="var bone = microstrategy.findBone(microstrategy.activeCXMenu); bone.processContextMenus('x');;" onclick="menuClick(this, 'grid_K47_0_GM1');" onmouseout="menuOff(this);" onmouseover="clearTimeout(oSubCTimer); menuOn(this); hideContextSubMenus(1);" ac="true" class="menu-row">
到目前为止,我已经测试过&#34;这个&#34;这是在menuclick功能。这是我最新的
HTML
<div style="background-color:#E1E1E1;"> <input type="button" name="RemoveGrid" id="RemoveGrid" value="Submit" ></div>
的Javascript
<script>
$(document).ready(function() {
$("#RemoveGrid").on("click", function (e) {
RemoveGridjs();
});
});
</script>
<script>
function RemoveGridjs() {
var bone = microstrategy.findBone(microstrategy.activeCXMenu);
bone.processContextMenus('x');;
menuClick('#grid_K47_0_1_1_1', 'grid_K47_0_GM1');
}
</script>
答案 0 :(得分:0)
我为MicroStrategy做了一些JavaScript定制,弄清楚如何做事真是一场噩梦。 MicroStrategy,作为公司,不支持JavaScript自定义,因此没有相关的文档,也有在线,你找不到多少。
我不确定您正在使用哪个版本的MicroStrategy和哪个可视化(交互式工作与快递模式不同),无论如何我的建议是修改onclick以记录this
,以便您可以了解这个对象是。
类似的东西:
jQuery('#cm1r10').click(
function(){
console.log(this)
}
);
解决问题的另一种方法是不要尝试运行与菜单项关联的功能,而是模拟按钮点击它。
jQuery("#RemoveGrid").on("click",
function (e) {
jQuery('#cm1r10').trigger('click');
}
);
如果屏幕上没有显示上下文菜单,不确定这是否有效,但我认为值得一试。
无论如何,我建议您在自定义别人代码时使用jQuery
代替$