Как я могу отфильтровать MVC Telerik Grid, используя выбранное значение Telerik ComboBox? - PullRequest
2 голосов
/ 05 июня 2011

У меня есть страница ASP.NET MVC 3 ( Razor ), которая состоит из Telerik ComboBox и Telerik Grid .Я не могу понять, как получить значения из поля со списком, используя jquery , а затем использовать это значение для фильтрации (или перепривязки) данных сетки.

My Telerik ComboBox загружается с * category_id *, * category_name *, и я получил его код, чтобы он фильтровал себя на лету, пока я набираю category_name, пока не будет найдено идеальное совпадение илиЯ выбираю элемент.

Буду признателен за любые рекомендации о том, как сделать это лучше, или советы по упрощению jquery ( intellisense для jquery ?).

Здесьявляется одним из разделов кода jquery-кода, который приводит к ошибке, и страница не будет загружать какие-либо данные.Сообщение об ошибке (от firebug): $ ("# Customers"). Data ("tComboBox") не определено, но я делаю это точно так, как описано на сайте Telerik, и когда я посмотрел на страницу источника, я увиделэто:

 jQuery('#Categories').tComboBox...snipped the  rest

Вот моя функция, которая не работает:

 function dataBinding(args) {
   var categoryName = $("#Customers").data("tComboBox").value();
   args.data = $.extend(args.data, { categoryName: categoryName });
}

1 Ответ

1 голос
/ 01 сентября 2011

Вы можете добавить intellisense для jQuery, прочитайте этот пост, чтобы узнать, как это сделать:

Настройка jQuery Intellisense

Чтобы извлечь выбранное значение из поля со списком Telerik, выполните следующие действия:

Просмотр разметки

// Assumed defenition of the combobox
<%= Html.Telerik().DropDownList()
        .Name("DropDownList")
        .BindTo(new SelectList(Model, "ProductID", "ProductName"))
        .HtmlAttributes(new { style = "width: 200px; float: left; clear:both; margin-bottom: 230px;" })
%>

Клиентский скрипт

// Will Get Selected Text
$("#DropDownList").data("tDropDownList").text()
// Will Get Selected Value
$("#DropDownList").data("tDropDownList").value()

Для дальнейшего уточнения "DropDownList" в $("#DropDownList").data("tDropDownList").text() - это имя, присвоенное элементу управления в методе помощника (Html.Telerik().DropDownList().Name("DropDownList")), поэтому вы должны изменить код, указанный выше, на $ (" # Customers") .data (" tCustomers"). value () и оно должно работать.

PS: Более подробную информацию о Telerik ASP.NET MVC ComboBox API можно найти по адресу Telerik API

...