【发布时间】:2012-10-27 10:11:32
【问题描述】:
我试图强制 javascript 在展开其中一行时折叠所有其他行,我只想一次展开一行。我对 javascript 还很陌生,所以我希望有人能指出我正确的方向。
我查看了我发现的这个示例,但由于某种原因,我的代码没有折叠行: Expand/Collapse all DetailViews in a grid
我不应该像在 javascript 中那样折叠索引吗?
我在 MVC Razor 视图中的 Telerik Grid:
<div>
@(Html.Telerik().Grid<RentableUnit>()
.Name("RentableUnits")
.Columns(columns =>
{
columns.Bound(e => e.UnitID).Hidden();
columns.Bound(e => e.Name).Width(800);
columns.Bound(e => e.IsExpanded).Hidden();
})
.ClientEvents(events => events.OnRowDataBound("employees_onRowDataBound")
.OnDetailViewExpand("unit_onDetailViewExpand")
.OnDetailViewCollapse("unit_onDetailViewCollapse")
.OnDetailViewExpand("toggleDetail")
)
.DetailView(details => details.ClientTemplate(
//stuff in template
)
.DataBinding(dataBinding => dataBinding.Ajax().Select("RentableUnits", "Home"))
.Sortable()
)
</div>
我的 Javascript:
function toggleDetail(e) {
var grid = $(this).data('tGrid');
grid.$rows().each(function (index) {
//TODO: exclude the expanded row
grid.collapseRow(index); //doesn´t collapse!
});
}
【问题讨论】:
标签: javascript jquery asp.net-mvc-3 telerik telerik-mvc