Telerik の ASP.NET AJAX コントロールを使用するとfindItemByValue
、値でアイテムを検索できるメニューで呼び出されるメソッドがあります。
しかし、明らかにルートレベルのアイテム内でしか見えません。
クライアント API に値でアイテムを見つけることができるメソッドがありますが、各アイテムを手動でループする必要なく再帰的に見つけることができますか?
Telerik の ASP.NET AJAX コントロールを使用するとfindItemByValue
、値でアイテムを検索できるメニューで呼び出されるメソッドがあります。
しかし、明らかにルートレベルのアイテム内でしか見えません。
クライアント API に値でアイテムを見つけることができるメソッドがありますが、各アイテムを手動でループする必要なく再帰的に見つけることができますか?
いいえ。がどのように設計されfindItemByValue
ているかにより、再帰的に検索する方法はありません。RadMenu
ただし、「各アイテムを手動でループする」代わりに、このget_allItems()
メソッドを使用できます。
function recursiveFindItemByValue(searchedValue)
{
var menu = $find("<%=RadMenu1.ClientID %>");
var menuItems = menu.get_allItems();
for (var i=0; i< menuItems.length; i++)
{
if(menuItems[i].get_value()==searchedValue)
return menuItems[i];
}
}
本当にループを使用したくない場合は、を使用しget_contextMenuElement()
てのDOM要素を取得する方法を検索し、要素がどのように見えるかがわかっている場合RadMenu
に使用できます。getElementById
(しかし、私はむしろ最初の解決策を望んでいます。