gpt4 book ai didi

javascript - 当 Kendo ComboBox 的数据源返回空时显示消息

转载 作者:行者123 更新时间:2023-12-01 02:29:38 28 4
gpt4 key购买 nike

在使用 Kendo MVC Helper 控件时,我正在使用 JavaScript (JS) 管理表单的其他方面。我有一个对 Kendo DropDown 控件的 JS 引用,它将“搜索文本”传递给 API 调用。显然,搜索文本可能不会返回任何结果。

如果没有返回结果,我想显示一条消息(和/或做其他事情)。但是,我无法找到合适的事件来使用。

这些是唯一“似乎”对此目的有用的事件:

  • CHANGE:仅当数据存在且更改下拉选项时触发
  • DATABOUND:仅当 API 数据存在时触发

问题:
使用 JavaScript,当 API 调用返回空数据集时如何显示消息?

我将继续添加一些代码...尽管您不需要它来回答这个特定问题。

示例标记:

<div class="input-group input-group-sm" style="width: 600px">
<span class="input-group-addon input-sm text-align">Search</span>
@(Html.Kendo().ComboBox()
.Name("ddlMeter")
.Filter("contains")
.Placeholder("Type Meter Name or Number...")
.DataTextField("Text")
.DataValueField("Value")
.AutoBind(false)
.MinLength(4)
.DataSource(source => source.Read(read => read.Action("findmeter", "rtf", new { area = "documents" }))
.ServerFiltering(true))
.HtmlAttributes(new { style = "width:100%;" }))
</div>

示例 JavaScript:
这只是一个示例 Controller ...

功能PageController(选项){

var that = this,
empty = {},
dictionary = {
elements: {
form: null,
ddlMeter: null,
},
instances: {
ddlMeter: null
},
selectors: {
form: 'form',
ddlMeter: '#ddlMeter'
}
};

var initialize = function (options) {
that.settings = $.extend(empty, $.isPlainObject(options) ? options : empty);

// Elements
dictionary.elements.form = $(dictionary.selectors.form);
dictionary.elements.ddlMeter = $(dictionary.selectors.ddlMeter, dictionary.elements.form);

// Kendo Objects
dictionary.instances.ddlMeter = dictionary.elements.ddlMeter.data('kendoComboBox');

// Events
dictionary.instances.ddlMeter.bind('change', that.on.change.ddlMeter);
dictionary.instances.ddlMeter.bind('dataBind', that.on.databind.ddlMeter);
};

this.on = {
change: {
ddlMeter: function (e) {
// This only fires if they CHANGE the controls choice on an existing dataset
},
databind: {
ddlMeter: function (e) {
// This wont do it if the set is empty
}
},
};

initialize(options);

};

最佳答案

我认为您需要使用 RequestEnd 事件。如果我没记错的话,您可以使用以下语法获取事件内数据源的句柄:

this.dataSource.data();

.DataSource(source => source.Read(read => read.Action("findmeter", "rtf", new { area = "documents" }))
.Events(e=>e.RequestEnd("requestEnd"))
.ServerFiltering(true))

关于javascript - 当 Kendo ComboBox 的数据源返回空时显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48404530/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com