jQueryを使用してJSONリクエストを呼び出してメニューを作成することで、その場で作成された動的メニューを作成しようとしています。一例としてJSONからメニューを作成する
<ul class="menu">
<li>
<a href="/Organisations/201/NewJournalEntry" title="New Journal Entry">
<span class="icon journal-new">New Journal Entry</span>
</a>
</li>
<li>
<a href="/Organisations/201/People" title="View People">
<span class="icon people">People</span>
</a>
</li>
<li class="sep">
<a href="/Organisations/201/Edit" title="Edit">
<span class="icon edit">Edit</span>
</a>
</li>
</ul>
と、次のJSON::私は、次の計画メニュー構造を持っている
{"menu": {
"id": "organisation-201",
"class": "menu",
"content": {
"menuitem": [
{"text" : "New Journal Entry", "title" : "New Journal Entry", "href" : "/Organisations/201/NewJournalEntry", "liClass" : "", "icon" : "icon journal-new" },
{"text" : "View People", "title" : "View People", "href" : "/Organisations/201/People", "liClass" : "", "icon" : "icon people" },
{"text" : "Edit", "title" : "Edit", "href" : "/Organisations/201/Edit", "liClass" : "sep", "icon" : "icon edit" }
]
}
}}
これを実行するための最良の方法だろうか?照会されるURLは '/ MenuBuilder/organization-201.json`のようなものになります
私は$ .getJSONメソッドを見ましたが、それは正しいものですか?誰もが... ..
$(document).ready(function() {
// First we connect to the JSON file
$.getJSON('menu.json', function(data)
{
// Setup the items array
var items = [];
// For each line of data
$.each(data, function(key, val)
{
items.push('<li class="' + liClass + '"><a href="' + href + '"><span class="' + icon +'">' + text + '</span></a></li>');
});
$('<ul/>', {
html: items.join('')
}).appendTo('#buildHere');
});
// END json
});
何あなたは質問ですか?サーバーからjsonを取得するか、またはDOM要素を(またはその両方から)作成しますか? – mgibsonbr
JSON – Cameron
からメニューを作成する私の答えは以下のとおりです。ニーズに合わせて簡単に完成できます。しかし、長期的には、Rody van Sambeekのようなテンプレートプラグインの学習は良いかもしれないと思うが、個人的な経験がないので、私は確信が持てない。 – mgibsonbr