我正在使用MVC Razor和Telerik Kendo MVC。我有一個我希望自動設置焦點的dropdownlst,以便用戶可以立即開始鍵入和過濾所需的值。該DDL是:Kendo UI MVC DropDownList過濾焦點
@(Html.Kendo().DropDownList()
.Name("ddlLocations")
.Filter("contains")
.BindTo(Model.Locations)
.DataTextField("Text")
.DataValueField("Value")
.Events(events => events.Change("onChange"))
.HtmlAttributes(new { style = "width:100%" })
.Value(Model.Exception.LocationIDCouponTypeStatus)
)
我有一個類似的項目在ASP.NET WebForms和我在Javascript中所做的是:
var comboBox = $find("<%=ddl.ClientID %>");
comboBox._inputDomElement.select();
這集中在告訴它開始過濾控制的部分當用戶開始輸入時。它似乎沒有翻譯成MVC版本。
var comboBox = $("#ddlLocations").data("kendoDropDownList");
comboBox._inputDomElement.select();
任何想法?提前致謝。
有沒有辦法不先打開列表呢?僅僅因爲我在ddl上面有一個可變圖像,有時會在加載時有點延遲,並且根據其大小它會將控件向下移動到屏幕上。因此,最終發生的事情是打開的列表在頁面上的某個點上呈現,然後圖像加載並將所有內容向下推,並且打開的列表仍處於原始位置。我也不一定要打開列表,他們可能會或可能不想開始輸入,他們可能會跳到下一個字段。儘管您的解決方案技術上可行。 – Cef
@Cef好的搜索輸入位於下拉菜單中,所以你需要先打開它,但是你可以嘗試setTimeout來延遲打開,或者在文檔就緒事件中調用它:'$(function(){....} )'或'成功'回調,如果它是ajax請求 –
是的我注意到它不同於AJAX控件。我可以嘗試使用組合框,看看它是否符合我的需求。感謝您的協助! – Cef