Dispose method for widgets

by bryanb

HTML

<script src="http://cdn.kendostatic.com/2012.3.1114/js/kendo.common.min.js"></script>
<script src="http://cdn.kendostatic.com/2012.3.1114/js/kendo.default.min.js"></script>
<script src="http://cdn.kendostatic.com/2012.3.1114/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.3.1114/styles/kendo.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.3.1114/styles/kendo.common.min.css">
supplier:
<input id="suppliers1" class="suppliers" value="2" />
<br />supplier:
<input id="suppliers2" class="suppliers" value="2" />
<br />
<button id="dispose">Dispose</button>

JavaScript

$(".suppliers").kendoComboBox({
    dataTextField: "CompanyName",
    dataValueField: "SupplierID",
    dataSource: {
        type: "odata",
        serverFiltering: true,
        transport: {
            read: "http://services.odata.org/Northwind/Northwind.svc/Suppliers"
        }
    }
});

function comboboxDispose() {
    $(".suppliers").each(function () {
        var combobox = $(this).data("kendoComboBox"),
            popup = combobox.popup,
            element = popup.wrapper[0] ? popup.wrapper : popup.element;

        //remove popup element;
        element.remove();

        //unwrap element
        combobox.element.show().insertBefore(combobox.wrapper);
        combobox.wrapper.remove();

        combobox.element.removeData("kendoComboBox");
    });

}

$("#dispose").click(comboboxDispose);