我评估剑道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 –