有没有办法在动作中折叠剑道Panelbar的所有面板?

时间:2013-05-09 21:52:54

标签: jsp kendo-ui wrapper panelbar

我正在开发一个app,我正在使用JSP Wrapper添加panelbars(multiselection)(这意味着每个面板都没有ID),并且里面有这些网格。

网格存储特定于所选人员的数据,这些数据在页面顶部显示为列表项(图像)。

我想要做的是当用户更改人物的选择时,从当前选择到另一个,折叠剑道面板栏的所有面板。这将有助于重新加载新人的数据,因为当用户选择/展开面板以查看数据时,我将捕获事件并使用基于所选人员的新数据源重新加载网格。

我希望我在这里有意义,但我不知道如何折叠PanelBar的所有面板。

任何建议??

3 个答案:

答案 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
            });