Я в первую очередь разработчик отчетов BI и начинающий JS / JQuery. У меня есть требование по умолчанию одно из значений «выпадающий / селектор» при загрузке страницы. К сожалению, нет встроенной функциональности, которая может установить значение по умолчанию в инструменте (Microstrategy), который я использую.
До сих пор я был в состоянии установить текст по умолчанию. Однако есть события, которые связаны со значениями в «раскрывающемся меню / селекторе», которые будут ссылаться на sh других элементов страницы. Мне не удалось идентифицировать или инициировать какое-либо событие, которое будет обновлять sh эти другие элементы страницы.
HTML фрагмент «выпадающего / селектора»:
<div id="*lW97AC0343C8A843F7803C7F5C3705A2C7*kW03B8BE5F89014A668C84F3702E0B0B73*x1*t1587427161911" k="W03B8BE5F89014A668C84F3702E0B0B73" class="mstrmojo-DocSelector vi-DocSelector" nm="YearMonth (PSPI)" title="" style="vertical-align: top; text-align: left; color: rgb(0, 0, 0); font: bold 9pt Arial; display: block; height: 35px; width: 223px;">
<div class="filter" style="display: none;" />
<div class="wait" style="display:none;z-index:100;position:absolute;top:0;left:0;width:100%;height:100%" />
<div class="content" style="overflow-x: hidden; height: 35px; width: 223px;">
<div id="mstr559" style="text-align: left; font: bold 9pt Arial; color: rgb(0, 0, 0); display: block; height: 35px; width: 223px;" class="mstrmojo-ui-Pulldown mstrmojo-ui-SearchablePulldown" onmousedown="mstrmojo.dom.captureDomEvent('mstr559','mousedown', self, event)" onclick="mstrmojo.dom.captureDomEvent('mstr559','click', self, event)">
<div class="mstrmojo-ui-Pulldown-text hasEditableText" title="" style="">201911</div>
<div class="container">
<div id="mstr560" class="mstrmojo-PopupList ctrl-popup-list mstrmojo-scrollbar-host" style="display: none;" tabindex="-1" onclick="mstrmojo.dom.captureDomEvent('mstr560','click', self, event)" ondblclick="mstrmojo.dom.captureDomEvent('mstr560','dblclick', self, event)" onmouseover="mstrmojo.dom.captureDomEvent('mstr560','mouseover', self, event)" onmouseout="mstrmojo.dom.captureDomEvent('mstr560','mouseout', self, event)" oncontextmenu="mstrmojo.dom.captureDomEvent('mstr560','contextmenu', self, event)" onkeydown="mstrmojo.dom.captureDomEvent('mstr560','keydown', self, event)">
<div class="mstrmojo-popupList-scrollBar mstrmojo-scrollNode" style="overflow: hidden;">
<div class="" style="">
<div class="item " idx="0" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
202003
</div>
<div class="item " idx="1" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
202002
</div>
<div class="item " idx="2" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
202001
</div>
<div class="item " idx="3" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201912
</div>
<div class="item " idx="4" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201911
</div>
<div class="item selected" idx="5" style="font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201910
</div>
<div class="item " idx="6" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201909
</div>
<div class="item " idx="7" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201908
</div>
<div class="item " idx="8" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201907
</div>
<div class="item " idx="9" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201906
</div>
<div class="item " idx="10" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201905
</div>
<div class="item " idx="11" style="color: #000;font:bold 9pt 'Arial'" title="">
<span class="sp-highlight" />
201904
</div>
</div>
</div>
<div class="mstrmojo-scrolltrack vertical">
<div class="mstrmojo-scrollbar vertical" />
</div>
<div class="mstrmojo-scrolltrack horizontal">
<div class="mstrmojo-scrollbar horizontal" />
</div>
</div>
</div>
</div>
</div>
</div>
My / JQuery script:
<script>
var script = document.createElement('script');
script.src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.js";
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
$(document).ready(function(){
// works
$("div[k='W03B8BE5F89014A668C84F3702E0B0B73'] .mstrmojo-ui-Pulldown-text").text('201911');
// works
// $('div[k="W03B8BE5F89014A668C84F3702E0B0B73"] div[idx="0"]').addClass('selected');
// does not work
$('#mstr599.mstrmojo-ui-Pulldown.mstrmojo-ui-SearchablePulldown').trigger('onmousedown');
$('#mstr599.mstrmojo-ui-Pulldown.mstrmojo-ui-SearchablePulldown').trigger('onclick');
// there are 2 other events associated with the mstr599 element: mouseout and mouseover
});
</script>
Что мне здесь не хватает или я делаю не так?