我正在开发一个app,我正在使用JSP Wrapper添加panelbars(multiselection)(这意味着每个面板都没有ID),并且里面有这些网格。
网格存储特定于所选人员的数据,这些数据在页面顶部显示为列表项(图像)。
我想要做的是当用户更改人物的选择时,从当前选择到另一个,折叠剑道面板栏的所有面板。这将有助于重新加载新人的数据,因为当用户选择/展开面板以查看数据时,我将捕获事件并使用基于所选人员的新数据源重新加载网格。
我希望我在这里有意义,但我不知道如何折叠PanelBar的所有面板。
任何建议??
答案 0 :(得分:11)
如果id
的{{1}}为PanelBar
,请执行以下操作:
panel
或
$("#panel").data("kendoPanelBar").collapse($("li", "#panelbar"));
即。我们将var panelbar = $("#panelbar").data("kendoPanelBar");
panelbar.collapse($("li", panelbar.element));
collapse
下的每个li
元素#panelbar
。
编辑:如果要删除选择,请添加:
$(".k-state-selected", panelbar.element).removeClass("k-state-selected");
答案 1 :(得分:1)
HTML
<ul id="palettePanelBar">
<li id="item1" class="k-state-active">
<!--Some Data-->
</li>
<li id="item2">
<!--Some Data for second item-->
</li>
</ul>
的Javascript
var panelBar = $("#palettePanelBar").data("kendoPanelBar");
panelBar.expand($('[id^="item"]'));
答案 2 :(得分:0)
您可以使用此块来折叠所有面板,作为答案的奖励,您可以通过这种方式仅展开之后的选定内容:
var panelBar = $("#importCvPanelbar").data("kendoPanelBar");
panelBar.collapse($("li"));// will collapse all panel item
panelBar.bind("select", function(e) {
var itemId = $(e.item)[0].id;
panelBar.expand(itemId);// will expand the selected one
});