2012-11-21 53 views
1

我有一個表格,每行有一個「+」號,當我點擊「+」時,它會顯示該行的詳細信息。現在,我嘗試在單擊後切換這個「+」到「 - 」,當我點擊「 - 」時,它會隱藏這一行的細節,我堅持這一點。以下是我的看法用MVC撥動開關

@Html.Grid(Model.Nodes).Sort(sortOptions).Columns(x=> 
    {    
     x.For(c => string.Format("<a class='expander' style='color:black;text-decoration:none;' href='showDetail'>" + "{0}" + "</a>", (c.ChildrenCount > 0 && c.EntityType == "TextNode") ? "+" : "")).DoNotEncode();  
    }).Attributes(Class => "DetailTable").Empty("No data.") 

<script type="text/javascript"> 

$(document).ready(function() { 

    $(".expander").click(function() { 

     //implementation here 

     }); 

     return false; 
    }); 
}); 
</script> 

任何幫助表示讚賞!由於

回答

0

我解決了這個問題如下:

  • 創建toggleState功能onclick事件

  • 的$(document)。在

    功能toggleState(項目){

    if (item.className == "expander") { 
        item.className = "expanderOff"; 
    } else { 
        item.className = "expander"; 
    } 
    

    }

    (document).on(「click」,「.expander」,function(){

    });

    的$(document)。在( 「點擊」, 「.expanderOff」,函數(){

    });

然後就完成了。 :)

+1

您可以使用.toggleClass()來獲得更簡潔的代碼。 http://api.jquery.com/toggleClass/ –