hello again, i have a trouble using menu plugin. it always shown an error like this:
TypeError: $.data(...) is undefined
$('<div class="menu-rightarrow"></div>').appendTo(_a); //in line 81 on jquery.menu.js
and here is my code :
var tabs_id = $('#tabs_group');
var content = "";
var states = getCookie("tabState");
var dropMenu = $('a[data-child="true"]');
$(function(){
tabs_id.tabs({
fit:true,
border:false
});
for (var j = 0; j < dropMenu.length; j++) {
var id = $(dropMenu[j]).attr('id');
var id_menu = $(dropMenu[j]).attr('id-menu');
var menu = $('#' + id_menu);
ajaxReq(menu,id_menu);
}
/*
if (states){
var conArr = states.split('|');
for(var i=0;i<conArr.length;i++){
var tabState = conArr[i];
var conTab = tabState.split(",");
var idTab = conTab[0];
var id_menu = conTab[1];
console.log($("#"+idTab).attr('class'));
console.log(idTab);
createTab(id_menu, idTab);
}
}
*/
});
function loadMenu(){
for (var j = 0; j < dropMenu.length; j++) {
var id = $(dropMenu[j]).attr('id');
var id_menu = $(dropMenu[j]).attr('id-menu');
var menu = $('#' + id_menu);
ajaxReq(menu,id_menu);
}
}
function ajaxReq(menu, id_menu){
$.ajax({
url: '#{load_dropdown_path}',
dataType: 'json',
type: 'get',
data: {
prm_id_menu: id_menu
}
}).done(function (data) {
for (var i = 0; i < data.length; i++) {
var d = data[i];
var item = menu.menu('findItem', d.namamenu);
if (item == null) {
if (d.is_level1 == true) {
menu.menu('appendItem', {
id: d.id,
text: d.namamenu,
onclick: function () {
return addTab(this, id_menu)
}
});
var menu_item = menu.menu('getItem', $('#' + d.id) [0]);
$(menu_item.target).attr({
url: d.url,
submenuParent: false,
'id-menu': d.id_menu,
port: d.port
});
} else {
var parent = menu.menu('findItem', d.parent);
menu.menu('appendItem', {
parent: parent.target,
id: d.id,
text: d.namamenu,
onclick: function () {
return addTab(this, id_menu)
}
});
var menu_item = menu.menu('getItem', $('#' + d.id) [0]);
$(menu_item.target).attr({
url: d.url,
submenuParent: false,
'id-menu': d.id_menu,
port: d.port
});
}
}
}
});
}
function addTab(target,id_menu){
var obj = $(target);
var url = obj.attr('url');
var status = obj.attr('submenuParent');
var id_menusub = obj.attr('id-menu');
var port = obj.attr('port');
var tabLength = tabs_id.tabs('tabs');
if (tabLength.length > 10){
$.messager.alert('Warning','Tabs length has reached maximum number.','warning');
return false;
}
console.log(obj.attr('id'));
console.log(id_menu);
create_param(function(result){
if (url == '-'){
return false;
}
if (status == 'true'){
var opt = obj.linkbutton('options');
var idTab = opt.id;
var tab_name = opt.text;
}else{
var idTab = obj.attr('id');
var item = $('#'+id_menu).menu('getItem',$('#'+idTab)[0]);
var tab_name = item.text;
}
var host = window.location.hostname;
if (port == '-'){
content = "<iframe class='iframe_content' scrolling='auto' frameborder='0' src='/"+url+"?prm="+result+"' style='width:100%;height:100%;'></iframe>";
}else{
content = "<iframe class='iframe_content' scrolling='auto' frameborder='0' src='http://"+host+":"+port+"/"+url+"?prm="+result+"' style='width:100%;height:100%;'></iframe>";
}
if (tabs_id.tabs('exists',tab_name)){
tabs_id.tabs('select',tab_name);
}else{
tabs_id.tabs('add',{
id: idTab+'-panelTab',
title: tab_name,
closable: true,
content: content
});
console.log(idTab);
var checkCookies = checkCookie("tabState");
if (checkCookies == ""){
setCookie("tabState",idTab+","+id_menu,1);
}else{
checkCookies += "|"+idTab+","+id_menu;
setCookie("tabState", checkCookies, 1);
}
}
},id_menusub);
}
function create_param(callback, menusub){
var ajx = $.ajax({
url: '#{create_param_path}',
dataType: 'json',
type: 'get',
data: {
vim: menusub
}
})
.done(function(data){
callback(data.data_id);
})
.fail(function(request,status,error){
$.messager.alert('Error',request.responseText,'error');
return false;
});
}
any help will appriciate,thanks in advance
Opan