Ниже представлен компонент Ojet, и я хочу передать «p_id» из компонента OJet в функцию «contextMenuItemSelect» в меню.У меня есть список (ojListView), в котором есть контекстное меню (ojMenu). Как передать переменную из списка в функцию выбора меню.?
Ui.item.children («a»). Text() может выбрать выбранную опцию, но я хочу получить p_id соответствующего элемента списка и на основе выбранной опции будет перемещаться для редактирования или просмотра ,
Как это можно сделать ???
Ojet Компонент
<script type="text/html" id="server_template">
<li data-bind="attr: {id: $data['p_id']}">
<div class="oj-flex">
<div class="oj-lg-12 oj-md-12 oj-sm-12">
<div class="oj-flex row portfolio-list">
<!-- Portfolio Name and Description -->
<div class="oj-lg-4 oj-sm-12">
<h2>
<a href="#" data-bind="text: p_id, click: getView"></a>
</h2>
<span class="data"><span data-bind="text: desc"></span></span>
</div>
<div id="menubutton-container">
<button id="menuButton2"
data-bind="
ojComponent: {component: 'ojButton', display: 'icons',
icons: {start:'demo-icon-font demo-gear-icon-16'},
label: 'Button with two icons and no text',
menu: '#myMenu2'}">
</button>
// The below span gives the list ID correctly
<span data-bind="text: p_id"></span>
<ul id="myMenu2" data-bind="attr:{title: p_id},ojComponent: {component: 'ojMenu', select:contextMenuItemSelect}" style="display:none">
// The below span always gives the 1st id on the list
<span data-bind="text: p_id"></span>
<!-- ko template: {name: 'menuItemTemplate', foreach: items, as: 'item'} -->
<!-- /ko -->
</ul>
</div>
</div>
</div>
</div>
</li>
</script>
меню Шаблон
<script type="text/html" id="menuItemTemplate">
<li data-bind="css: {'oj-disabled': item.disabled}">
<a href="#" data-bind="text: name"></a>
<!-- ko if: item.items -->
<ul data-bind="template: {name: 'menuItemTemplate', foreach: item.items, as: 'item'}">
</ul>
<!-- /ko -->
</li>
JS Функция
self.contextMenuItemSelect = function(event, ui) {
console.log(ui.item);
var option = ui.item.children("a").text();
}