【发布时间】:2014-03-27 18:52:13
【问题描述】:
我在这里有一个不是我开发的项目。 项目技术:ASP.NET MVC、jQuery、Bootstrap 和 KendoUI。 而且,它有一个小问题。
KendoComboBox 在您键入时使用 JSON 数据源文本自动完成文本。太棒了! 但是,如果您订阅 DataBound 事件来处理它,则此自动完成功能将无法正常工作。它会删除您正在输入的内容。这引起了用户的愤怒。
此窗口与创建新注册和编辑某些现有注册相同... 因此,订阅的 DataBound 会在编辑时选择 ComboBox 中的一项。
而且,如果我们要创建一个新的,ComboBox 的正常行为必须在键入时自动完成。
这是新窗口。自动完成功能不适用于订阅的 DataBound:
这是编辑窗口(相同,但已加载)。
如果我删除 DataBound,ComboBox 的自动完成功能可以正常工作:
这是我的 HTML:
<div class="k-field">
<div class="k-fieldlabel">Responsável:</div>
<div style="float: left; width: calc(100% - 100px);">
<input type="text" id="cboResponsavel" name="Responsavel.Id" style="width: 100%;" required validationmessage="Responsável é obrigatório" />
</div>
</div>
在我的 document.ready 函数中,我有:
$("#cboResponsavel").kendoComboBox({
dataTextField: "Nome",
dataValueField: "Id",
dataSource: {
type: "json",
schema: {
data: "data",
total: "total"
},
transport: {
read: {
url: "/Projeto/Projetos/CarregarResponsaveis",
dataType: "json"
}
}
},
filter: "contains",
suggest: true,
dataBound:function(e){
e.sender.value(@(Model == null ? "null" : Model.Responsavel.Id.ToString()))
}
});
我的研究:
KendoCombobox is not fetching Localsource jsondata
Kendo UI Demos - ComboBox / Basic Usage
Kendo UI Docs - ComboBox - Events - DataBound
Selecting item in databound combobox
我也看过Kendo UI Fórum的一些帖子。
我已经更新了 jQuery 和 KendoUI 并且仍然存在...
我对 KendoUI 很陌生,我刚刚修复了一些 ASP.NET MVC 项目,所以,我现在不知道如何解决这个问题。请,如果有人可以帮助或指导我,我将不胜感激。
哦,是的,我想修复其他有同样问题的 Combo...
P.S.:如果我选择一个值点击它,我可以在这里工作,但这并不高效。
我希望我说得够清楚。感谢您的帮助。
【问题讨论】:
-
您说如果您删除
dataBound它可以正常工作,但您是否尝试将其留在那里但为空?您是否检查了生成的 JS 代码是什么(我的意思是,验证e.sender.value...是否与您预期的一样。尝试在 dataBound 中调用e.sender.value("some literal")并查看是否有效。
标签: asp.net-mvc combobox kendo-ui databound kendo-combobox