2012-07-25 69 views
0

我需要做什么才能查询Telerik DropDownList上的HtmlAttributes值?我知道如何通过jQuery来做到这一点,但什么是正确的方式来查询这些?如何通过javascript访问Telerik HtmlAttributes值?

@(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")) 
          ) 

EDIT /回答:我选择选择父容器中,使用适当的类名称;因为Telerik DropDownList扩展会生成id =“BookingOfficeIdNew”的输入元素,其父级div容器的类为“.t-dropdown”。

$( “#BookingOfficeIdNew”)。亲本( “T-下拉”)

+0

护理张贴那些使用谁不ASP.NET呈现的HTML? – Fresheyeball 2012-07-25 16:22:55

回答

1

的值将所述的DropDownList扩展在HTML创建HTML元件上设置。看看由此产生的HTML。我怀疑这可能工作(注:我还没有实际使用这个特定的Telerik的控制 - 我只是别人,我用猜)

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

UPDATE

至于我知道你可以通过jQuery或普通的javaScript获取它。 telerik控件只是简单地将你定义的HtmlAttributes放到它用于控件的HTML元素中 - 在你完成之后,你对它们做了什么。它没有提供处理它的机制,因为你可以通过jQuery或常规的javaScript来完成。

+0

不是;我已经看过HTML,当然,attribs被添加到包含div(telerik dropdownlists不是html选择控件)。我可以很容易地通过jquery来实现这一点,并绕过telerik控件,但是我想知道telerik下拉列表控件代码中是否有某些东西可以“正确地”执行它 – gangelo 2012-07-25 16:10:55

+1

好吧,Michael和我都试图提供帮助,但似乎我们都因为不理解或曲解您的问题而被拒绝,以及您的“正确”(即原始问题中没有定义)的含义。这是一个糟糕的表演。 (有时,我真的很想知道为什么我打扰!) – 2012-07-25 16:15:40

+0

@gangelo你不会得到比这更好的答案。绝对不值得赞扬。 – Daniel 2012-07-25 16:38:04

0

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

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

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

不是;我已经看过HTML,当然,attribs被添加到包含div(telerik dropdownlists不是html选择控件)。我可以很容易地通过jquery来实现这一点,并绕过telerik控件,但我想知道telerik下拉列表控件代码中是否有某些内容会“正确地” – gangelo 2012-07-25 16:11:04