Kendo Column Combo Focus

HTML

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1316/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="ttp://cdn.kendostatic.com/2014.3.1316/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1316/styles/kendo.silver.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1316/styles/kendo.common.min.css">
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
<div data-ng-app="app">
    <div data-ng-controller="Grid as vm">
        <div id="gridID" pckendo kendo-grid='grid' k-options="vm.options"></div>
    </div>
</div>

JavaScript

angular.module("app", ["kendo.directives"])
    .controller("Grid", Grid)
    .directive('pckendo', PCKendo);

// Grid controller constructor
function Grid() {
    var vm = this;
    vm.gridData = getDataSource();
    
    $("#gridID").on("focus", ".k-input", function() {
        var parent = $(this).closest(".k-combobox");
        
        if (parent.length >0) {
            var x = $(parent).find("input:not(:visible)");
            console.log(x);
            var combo = $(x).getKendoComboBox();
            if (combo) {
                combo.input.select();
            }
        }
    })
    
    vm.options = {
        height: 500,
        navigatable: true,
        sortable: true,
        editable: true,
        edit: function () {
            vm.editMode = true;
            console.log("editing");
        },
        beforeEdit: function (e) {
            if (e.field === "car.display") {
                e.preventDefault();
                var grid = $("#gridID").data("kendoGrid");
                var current = grid.current();
                $(current).find(".k-input").first().focus();
            }
        },
        cancel: function () {
            vm.editMode = false;
            console.log("cancelled");
        },

        columns: getColumns(),
        dataSource: vm.gridData,

    };
}

var carListData = [
new RegoDescriptionPair('C1', 'Car 1 - Red GMH sedan'),
new RegoDescriptionPair('C2', 'Car 2 - Blue Toyota'),
new RegoDescriptionPair('C3', 'Car 3 - Green Toyota'),
new RegoDescriptionPair('C4', 'Car 4 - Black Mazda'), ];

function getCarList() {
    return carListData;
}

function getColumns() {
    var carList = carListData;

    var trailerList = [
    new RegoDescriptionPair('TR1', 'Trailer 1'),
    new RegoDescriptionPair('TR2', 'Trailer 2'),
    new RegoDescriptionPair('TR3', 'Trailer 3')];

    var columns = [{
        field: "bookingDate",
        title: "Booking Date"
    }, {
        field: "car.display", // display field so sort and filter...