0

为了在 Telerik DropDownList 上查询 HtmlAttributes 值,我需要做什么?我知道如何通过 jQuery 做到这一点,但是查询这些的正确方法是什么?

    @(Html.Telerik().DropDownListFor(model => model.BookingOfficeIdNew)
                             .Name("BookingOfficeIdNew")
                             .HtmlAttributes(new
                                 {
// How do I access these?
                                     @class = "PropertyProposedValueSelect",
                                     @delta = Model.BookingOfficeIdNew,
                                     @container = "BookingOfficeContainer",
                                     @updateFlag = "BookingOfficeIdChanged",
                                     @deltaValue = "BookingOfficeIdOld",
                                     @newValue = "BookingOfficeIdNew",
                                     @newText = "BookingOfficeNameNew"
                                 })
                             .ClientEvents(events => events
                               .OnChange("SelectListValueUpdated")
                                 .OnLoad("OnDropDownListLoad")
                                 .OnOpen("OnDropDownListOpen")
                               )
                             .BindTo(Model.BookingOfficeIdChanged ? @Html.ToSelectList(Model.BookingOfficeNameNew, Model.BookingOfficeIdNew, true) : ((SelectListItem)ViewData["DefaultSelectListPrompt"]).ToSelectList(true))
                             .SelectedIndex(0)
                             .DataBinding(binding => binding.Ajax().Select("RraOfficeSelectListWithPrompt", "Revision"))
                             )

编辑/回答:我选择使用正确的类名选择父容器;因为 Telerik DropDownList 扩展生成一个 id = "BookingOfficeIdNew" 的输入元素,其父 div 容器具有类 ".t-dropdown"。

$("#BookingOfficeIdNew").parent(".t-dropdown")

4

2 回答 2

1

这些值将在 DropDownList 扩展在 HTML 中创建的 HTML 元素上设置。查看由此生成的 HTML。我怀疑这可能有效(注意:我实际上并没有使用过这个特定的 Telerik 控件 - 我只是猜测我使用过的其他人)

var newTextValue = $('#BookingOfficeIdNew').attr('newText');

更新

据我所知,您可以通过 jQuery 或常规 javaScript 获取它。Telerik 控件只是将您定义的 HtmlAttributes 放入它用于控件的 HTML 元素中 - 之后您如何处理它们取决于您。它没有提供处理它的机制,因为您已经可以通过 jQuery 或常规 javaScript 来执行此操作。

于 2012-07-25T15:58:09.807 回答
0

您可以通过 getAttribute() 方法访问元素的属性。

在这种情况下,代码将类似于:

document.getElementById('BookingOfficeIdNew').getAttribute('updateFlag');
于 2012-07-25T15:59:39.290 回答