0
下面是Ojet組件,我想將OJet組件中的'p_id'傳遞給Menu中的'contextMenuItemSelect'功能。 ()能夠獲取所選的選項,但我想獲取相應列表項的p_id,並根據所選的選項導航到編輯或查看。我有一個列表(ojListView),其中有一個上下文菜單(ojMenu)。如何將列表中的變量傳遞給菜單選擇功能?
這怎麼辦?
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();
}