2015-01-03 2 views
0

Я использую сетку Кендо с фильтруемыми колоннами. При нажатии на изображение фильтра появляется новый div, у которого нет связанного с ним класса. Моя проблема заключается в добавлении класса «k-rtl» в этот div.Kendo grid show rtl div

Мой Кендо код сетки (краткое):

columns: [ { 
     field: "Title", 
     title: "Title", 
     filterable: { 
     ui: titleFilter 
     } 
    } 
] 

function titleFilter(element) { 
        element.kendoAutoComplete({ 
         dataSource: titles 
        }); 
       } 

Вот сгенерированный код после нажатия кнопки фильтра:

<div> 
    <div class="k-filter-help-text" ....> 
    </div> 
</div> 

Я хочу, чтобы добавить класс = "к-РТЛ" родительскому DIV , что-то вроде этого в jQuery

$(".k-filter-help-text").parent().addClass("k-rtl"); 

Как я могу это сделать? Вышеупомянутый JQuery не работает, поскольку, когда выполняется document.ready(), такого элемента div нет.

ответ

1

Ваша первоначальная идея правильная!

Вы должны использовать что-то вроде:

$(".k-filter-help-text").parent().addClass("k-rtl"); 

Но попытаться сделать шаг до ..

Если вы не имеете в DIV вы не можете добавить класс, то вы должны попробовать посмотреть события. (Когда существует ДИВ)

Первый пример на: http://api.jquery.com/toggleClass/

просто идея, в document.ready (когда Кендо Сетка отлично видно, с фильтром изображения по столбцам), вы должны добавить обработчик событий для щелчка на изображении фильтра.

$(document).ready(function { 
    $("identifier").click(function() { 
     // add class code 
    }); 
}); 

В качестве идентификатора вы можете использовать фильтр «.k-grid-filter».

Надеюсь быть полезным, дайте мне знать!

0

я должен был захватить событие нажатия во время выполнения и применить класс CSS:

$(".k-grid-filter").on("click", $(".k-filter-help-text").parent(), function() { 
        $(".k-filter-help-text").parent().addClass("k-rtl"); 
       });