如何通过javascript访问Telerik HtmlAttributes值?

时间:2012-07-25 15:50:25

标签: javascript asp.net-mvc-3 jquery telerik

为了在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”)。亲本( “T-下拉”)

2 个答案:

答案 0 :(得分:1)

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

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

<强>更新

据我所知,您可以通过jQuery或常规javaScript获取它。 telerik控件只是将您定义的HtmlAttributes放入它用于控件的HTML元素中 - 之后您使用它们取决于您。它没有提供处理它的mecahnism,因为你已经可以通过jQuery或常规javaScript来实现这一点。

答案 1 :(得分:0)

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

在这种情况下,代码看起来像:

document.getElementById('BookingOfficeIdNew').getAttribute('updateFlag');