我評估劍道UI現在我們大的應用程序使用。我們有一種情況,我們在下拉列表中有很多值(如200+),並且有大於1的下拉值。所以如果我們有一個複雜的形式。頁面加載需要時間來呈現表單。 (由於每個盒子需要從服務中加載並填滿)。劍道UI - 下拉列表中設置值autoBind = FALSE設置
我們通過對需求的支持(如autoBind屬性)的下拉劍道UI列表編寫我們自己的asp.net web控件避免這一點。現在
,DropDownList的從KendoUI供應以autobind =假的目的,但設定值時,它從遠程綁定第一獲取數據,然後選擇適當的值。 (這是冷靜和小名單確實不錯),但有可能,這將意味着,當我們加載網頁設置的值就會發出每個下拉菜單的遠程綁定的電話。
現在,
我們可以設定值/文本顯示時不發出遠程綁定。我們希望遠程綁定僅在用戶單擊下拉菜單時完成。 (不是在填表時)。這將節省對系統的額外呼叫,並幫助快速將表單呈現給用戶。
這裏是JS斌
http://jsbin.com/ayivad/3/edit
如果從劍道UI有人想我幫忙 - 讓我知道,但這個想法將使我們能夠以良好的使用使用劍道UI的下拉菜單。
<input type="button" id="btnSet" value="Set Value (Click without clicking on DropDown" />
<br/><br/>
<select id="products"></select>
$(document).ready(function() {
$("#products").kendoDropDownList({
dataTextField: "ProductName",
dataValueField: "ProductID",
autoBind: false,
dataSource: {
transport: {
read: {
dataType: "jsonp",
url: "http://demos.kendoui.com/service/Products",
}
}
}
});
var combobox = $("#products").data("kendoDropDownList"),
setValue = function (e) {
if (e.type != "keypress" || kendo.keys.ENTER == e.keyCode)
combobox.value(3);
};
$("#btnSet").click(setValue);
});
感謝, 里茲
http://jsbin.com/ayivad/15/edit –
我試圖在上面jsbin編輯......它不optionLabel與價值和測試工作。所以那裏有什麼問題。可能是一個錯誤。你的建議與我的想法非常吻合。而optionLabel技巧似乎將工作,如果我能得到與價值工作。 –
終於搞定了。感謝您指向正確的方向@Bobby_D_。我必須稍微調整一下這裏的jsbin。它可以幫助其他人。 http://jsbin.com/evinat/21/edit –