为了在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-下拉”)
答案 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');