2012-07-25 71 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