2012-02-27 16 views
2

データベースから動的なメニューを作成しています。ユーザーがプロフィールをクリックすると、そのプロフィールが強調表示されている必要があります。ここにプロファイルのメニューがあります。私のメニューはすばらしく、メニューの要素をハイライト表示する方法については助けが必要です。助けてくれてありがとう。Ajaxを使用した動的メニュー

function childMenu(profileId){ 

var path = location.pathname; 

    $.ajax({ 
    type: 'POST', 
    url: '',     //the script to call to get data   
    data: "method=getChildProfile&profileId="+profileId, //requirements 
    dataType: 'xml',      //data format  
    success: function(xml)  
    { 
    $(xml).find('Child').each(function() 
    { 
    var proId = $(this).attr('profileId'); 
    var lName = $(this).find('lName').text(); 
    var fName = $(this).find('fName').text(); 

    $("#childMenu").append("<li><a href='"+path+"?child="+proId+"&fName="+fName+"&lName="+lName+"'></a></li>"); 

    }); 
    } 
    }); 

} 
+0

メニューをどのように「強調表示」していますか?クラスを追加することによって?もしそうなら、クラスをセレクタ$( 'li.highlight')として使うことができます。あなたが全体のメニューのhtmlを投稿できるなら、それは助けになるでしょう。 – deantoni

+0

my html:

\t
私は初心者ですから、ハイライトするように選択されたプロファイルを取得するためのアイディアがありません。 – Dawn

+0

それはあなたのために働く場合私の答えをチェックします – deantoni

答えて

1

私はあなたが正しい取得していた場合:(それはあなたがコメント探しているものはない場合、私は私の答えを編集します)

編集append行:

$("#childMenu").append("<li><a href='"+path+"?child="+proId+"&fName="+fName+"&lName="+lName+"' onClick='javascript:doHighlight(this)'>???</a></li>"); 

function doHighlight(elem) 
{ 
if(elem.className == "highlighted") 
    elem.className = ""; 
else 
    elem.className = "highlighted"; 
} 

そして、あなたのCSSにクラスを追加します:あなたのJSに新しい機能を追加

あなたのメニューが組み込まれていたら、あなたは、あなたはあなたのことができます。

$('#childMenu li.selected') 

<li>を選択し得ることができ、あなたの<li>

$('#childMenu li').click(function() { 
    $('#childMenu li.selected').removeClass('selected'); 
    $(this).addClass('selected'); 
}); 

をハイライト表示されますクリックイベントハンドラを追加する必要があります10

.highlighted{ 
background-color:yellow; 
} 
+0

提案のおかげで、私は両方を試みました。両方とも、選択されたメニュー項目を強調表示しますが、強調表示されていません。ページが読み込まれるとハイライトが消えます。新しいプロフィールが選択されるまで、それを維持するための提案はありますか? – Dawn

+0

ああ、今私はあなたを持っています。 'sessions'を使うかリンクに新しいパラメータを追加すると、前にハイライト表示されたプロファイルを知ることができます。 –

+0

どうすればいいですか?私はAjaxが初めてだと言ったように。 – Dawn

1

.select cssクラスを編集して、背景色や必要なものを変更します。

関連する問題