Hi everybody,
I am trying replace menu link with ajax link and content worked fine, but the menu item did not active then ![]()
Any suggestions i am warmly appriciate.
Best regards,
Hi everybody,
I am trying replace menu link with ajax link and content worked fine, but the menu item did not active then ![]()
Any suggestions i am warmly appriciate.
Best regards,
Hi,
i would say you need to activate the menu item by yourself.
You could use the success-event of your ajax call to add the css class 'active' to the link-tag of the choosen menu item using jQuery.
Greets
Quote
You could use the success-event of your ajax call to add the css class 'active' to the link-tag of the choosen menu item using jQuery.
Thank you for quick reply but can you show me an example. I am not good at jquery sorry.
And i can show you my code to clear do it.
First menu:
<ul>
<li class="active"><?php echo CHtml::ajaxLink('Home',array('/site/home/'), array(
'update'=>'#main',
)); ?></li>
<li><?php echo CHtml::ajaxLink('Contact',array('/site/contact/'), array(
'update'=>'#main',
)); ?></li>
And I know there will a jquery script was generated like this:
<script type="text/javascript">
/*<![CDATA[*/
jQuery(document).ready(function() {
jQuery('#yt0').click(function(){jQuery.ajax({'url':'/website/index.php?r=site/home','cache':false,'success':function(html){jQuery("#main").html(html)}});return false;});
jQuery('#yt1').click(function(){jQuery.ajax({'url':'/website/index.php?r=site/contact','cache':false,'success':function(html){jQuery("#main").html(html)}});return false;});
});
/*]]>*/
</script>
So how to go next yoshi i am stuck ![]()
Hi all,
Me solved this problem, and here the way. Just put this script before </body>
<script type="text/javascript">
$(document).ready(function(){
$("#menu ul li > a").click(function(e){
var pid = $("#"+e.target.id).parent().attr("id"); //here we get parent element of active anchor
switch(pid){
case "lyt0": //parent <li> id of active anchor
//change status & style menu
$("#lyt0").addClass("active");
$("#lyt1").removeClass("active");
break;
case "lyt1":
//change status & style menu
$("#lyt0").removeClass("active");
$("#lyt1").addClass("active");
}
//alert(e.target.id);
return false;
});
});
</script>