2011-10-20 27 views
2

AJAX経由でトップレベルおよびサブメニュー項目を読み込むコールバックをサポートするHTML/JavaScript/jQueryコンテキストメニューの実装を知っている人はいますか?AJAX経由でサブメニュー項目を読み込むHTML/javascriptコンテキストメニュー

利用可能なメニュー項目が権限、データアクセス権、データ辞書の関係によって決定される非常に動的なコンテキストメニューをサポートする必要があります。メニュー項目の項目と深さは実行時に決定されるため、メニュー項目を事前に作成することはできません。

私は特に、このスタイルのメニューが私たちの要件に最適であるため、jQuery 1.9向けに開発された新しいiPod style menuが動的AJAX読み込みをサポートするかどうかを調べることに興味があります。

ありがとうございました。 Glenn。

+0

非常に古いですが、AJAX経由のサブメニューコンテンツの読み込みをサポートする[mbMenu](http://pupunzi.open-lab.com/2009/01/18/mbmenu/)が見つかりました。しかし、私たちが必要とするipodスタイルはサポートされていないため、エレメントIDと衝突しないように修正する必要がありました。 – Glenn

答えて

1

は、この方法を試してください。

http://abeautifulsite.net/blog/2008/09/jquery-context-menu-plugin/

それは実装し、維持するのは簡単です。

EDIT:

あなたはULにID与えることによって動的にメニューにアクセスすることができます

<ul id="contextmenuid"> 
    /*Empty menu to be created dynamically*/ 
</ul> 

をして、あなたは、このULにアクセスし、必要なLIを変更/作成することができますjavascriptの使用:

var contextMenu = document.getElementById(contextmenuid); 

//This part would be dynamic loop to add menu items 
var contextMenuItem = document.createElement('li'); 
var contextMenuItemLink = document.createElement('a'); 

contextMenuItem.setAttribute('class', 'imageclass');  //imageclass will be used to show the menu item image 
contextMenuItemLink.setAttribute('href', '#doaction');  //#doaction is the item ID, it would be number 
contextMenuItemLink.setAttribute('title', 'Tooltip Info'); //Tooltip 
contextMenuItemLink.innerHTML = 'Dynamic Item, click me...';//Menu item text 
contextMenuItem.appendChild(contextMenuItemLink); 

//Add the new menu item to the context menu 
contextMenu.appendChild(contextMenuItem); 

同じサブメニューに使用されるでしょう:

<ul id="contextmenuid"> 
    <li><a href="http://msn.com">MSN</a> 
     <ul id="contextsubmenuid"> 
      /*to be created dynamically*/ 
     </ul> 
    </li> 
</ul> 

スタイルに関しては、あなたが必要とするものを持つためにCSSで遊ぶことができると思います。これは役立つだろう

希望。

+0

あなたが言及していないプラグインは、サブメニューコンテンツやiPodスタイルメニューのAJAX読み込みをサポートしていません。 – Glenn

+0

私は自分の答えを編集しました。 – Shadi

+0

Shadiの更新をありがとう。しかし、私はまだそれが私が必要としているとは思わない。サブメニューを動的にロードする必要があります。なぜなら、ユーザーがサブメニューを選択したときにサブメニュー選択用のコールバックを持つソリューションを求めているからです(私の質問はこれほど明確ではないかもしれませんが)。上記のmbMenuライブラリは私たちのために働いています。 – Glenn

関連する問題