Kendo PanelBar with custom item styling

by Kishore Sahasranaman

HTML

<script src="http://cdn.kendostatic.com/2011.3.1407/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2011.3.1407/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2011.3.1407/styles/kendo.default.min.css">
<p>hover state as selected:</p>
<br /><br />
<ul id="panelBar1" style="width:200px">
    <li>
        Item 1
            <ul>
                <li>Sub Item 1</li>
                <li>Sub Item 2</li>
            </ul>
    </li>
    <li>Item 2
            <ul>
                <li>Sub Item 1</li>
                <li>Sub Item 2</li>
            </ul>
    </li>
</ul>
<br /><br />
<p>dynamic custom styling:</p>
<br /><br />
<button type="button" class="k-button" id="styleButton">expand first group and apply</button>
<br /><br />
<ul id="panelBar2" style="width:200px">
    <li>
        Item 1
            <ul>
                <li>Sub Item 1</li>
                <li>Sub Item 2</li>
            </ul>
    </li>
    <li>Item 2
            <ul>
                <li>Sub Item 1</li>
                <li>Sub Item 2</li>
            </ul>
    </li>
</ul>

CSS

body
{
    font:12px sans-serif;
}

#panelBar1 .k-state-hover,
.k-panelbar .myClass
{
    background-color: #f0713a;
    color: #fff;
}

JavaScript

$("#panelBar1").kendoPanelBar({
    expandMode: "single"
});


var pElement = $("#panelBar2"),
    pObject = pElement.kendoPanelBar({
    expandMode: "single"
}).data("kendoPanelBar");


$("#styleButton").click(function(){
    var firstItem = pElement.children(".k-item").filter(":eq(0)");
    pObject.expand(firstItem);
    pElement.find(".k-item .k-item").filter(":eq(0)").children(".k-link").addClass("k-header myClass");
})