Kendo UI: 组合框显示值而不是文本
Kendo UI: Combo box shows value instead of Text
我正在使用 Kendo UI 和 AngularJS。我无法解决问题。
如果模型设置为组合框绑定到的数据源中不存在的 ID,则该值将按原样显示在下拉列表中。即,如果我将模型设置为 4,并且数据源中没有 ID 为 4 的数据项,组合框将按原样显示 4。我想用空字符串替换它。
我该如何更改它以显示空文本框?
查看 sample
PS。问题不仅限于 Angular。 Kendo 自己的 MVVM 绑定有同样的问题。
好吧,既然它不是下拉列表而是组合框,所以你可以在里面写下每一个文本,恐怕你必须自己检查一下。
Value 属性 只是设置一个值,在组合框的情况下,如果值与数据源中的项目不匹配,那么它只是将值设置到输入框。
为了进行检查,我将使用 dataBound 事件,该事件在创建组件后启动一次。因为它是在创建组件后启动的,所以您可以轻松地将所选值与数据源中的值进行比较。
这里是小demo。希望能帮助到你。
聚会可能会迟到,但已接受的答案对我不起作用。
如果有人使用 SQL 服务器存储他们的值,父 table 带有外键,然后子 table 存储所有组合框值。然后我所做的是 return 所选值的 ID 和文本(使用左外连接)。
编辑:我刚刚注意到这是 angular,下面是 kendo-ui Jquery.
SQL
SELECT col1,
col2,
col3,
ChildID, -- ID stored in parent table
childTable.ChildDesc -- Getting child text
FROM parentTable
LEFT OUTER JOIN childTable ON childTable.ChildID = parentTable.ChildID
JS
$("#id").kendoComboBox({
dataTextField: "Description",
dataValueField: "ID",
filter: "contains",
minLength: 1,
filtering: onFilterCostCentre,
value: item.ChildID,
text: item.ChildDesc
})
我正在使用 Kendo UI 和 AngularJS。我无法解决问题。
如果模型设置为组合框绑定到的数据源中不存在的 ID,则该值将按原样显示在下拉列表中。即,如果我将模型设置为 4,并且数据源中没有 ID 为 4 的数据项,组合框将按原样显示 4。我想用空字符串替换它。 我该如何更改它以显示空文本框?
查看 sample
PS。问题不仅限于 Angular。 Kendo 自己的 MVVM 绑定有同样的问题。
好吧,既然它不是下拉列表而是组合框,所以你可以在里面写下每一个文本,恐怕你必须自己检查一下。
Value 属性 只是设置一个值,在组合框的情况下,如果值与数据源中的项目不匹配,那么它只是将值设置到输入框。
为了进行检查,我将使用 dataBound 事件,该事件在创建组件后启动一次。因为它是在创建组件后启动的,所以您可以轻松地将所选值与数据源中的值进行比较。
这里是小demo。希望能帮助到你。
聚会可能会迟到,但已接受的答案对我不起作用。
如果有人使用 SQL 服务器存储他们的值,父 table 带有外键,然后子 table 存储所有组合框值。然后我所做的是 return 所选值的 ID 和文本(使用左外连接)。
编辑:我刚刚注意到这是 angular,下面是 kendo-ui Jquery.
SQL
SELECT col1,
col2,
col3,
ChildID, -- ID stored in parent table
childTable.ChildDesc -- Getting child text
FROM parentTable
LEFT OUTER JOIN childTable ON childTable.ChildID = parentTable.ChildID
JS
$("#id").kendoComboBox({
dataTextField: "Description",
dataValueField: "ID",
filter: "contains",
minLength: 1,
filtering: onFilterCostCentre,
value: item.ChildID,
text: item.ChildDesc
})