gpt4 book ai didi

c# - 为 kendo ui Combobox 触发了两次更改事件

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:56 25 4
gpt4 key购买 nike

我注意到我的应用程序中的所有组合框都有一些奇怪的行为,一段时间后我注意到 Kendo UI ComboBox 两次发出或触发更改事件,因此如果内部代码有一个,它们会发出两个 http 请求我搜索了很多但没有找到任何帮助

  1. 我将组合框与 angularjs k-options(用于一般选项)和 k-on-change 属性一起用于更改事件处理程序
  2. 我尝试实现没有 angularjs 属性的组合框,就像 kendo ui 组合框的正常使用一样,它给出了相同的行为
  3. 我没有使用警报来调试这个问题,而是使用了 console.log
  4. 我用fiddler观察http请求,发现任何变化都有两个请求
  5. 我什至尝试更改了发布请求和数据参数,但也发现了同样的问题

代码示例:网页; <select id="id" kendo-combo-box k-options="options" k-on-change="change(kendoEvent)" class="class" required></select>

“脚本标签”中的代码

var app = angular.module('app', ['blockUI', 'kendo.directives']);

app.controller("controller",
function($scope, $http) {

$scope.GetAllData = function() {

$scope.comboDataSource = new kendo.data.DataSource({

data: @Html.Raw(Json.Encode(ViewBag.listFromC#)) // before loading view we're assigning the viewbag with alist of data
});

$scope.options = {
autoWidth: true,
filter: "contains",
ignoreCase: true,
placeholder: "Choose ...",
syncValueAndText: true,
dataTextField: "Name",
dataValueField: "Id",
dataSource: $scope.comboDataSource
};
}
}

$scope.change = function (kendoEvent) {
// kendoEvent.preventDefault(); // this line was added to test if it will prevent the second request or change event firing
console.log('change fired');


var cbAnother = $("#cbAnother").data("kendoComboBox"); // those two lines has no effect if removed
cbAnother.setDataSource([]);

if (!kendoEvent.sender.value()) { // this if statement has no effect if removed

return;
}

$http({
method: "get",
url: "@Url.Action("Action", "MVCControler", new {area = "Area"})",
params: { Id: kendoEvent.sender.value() }
}).then(function(response) {
var dataS = new kendo.data.DataSource({
data: response.data.ourData
});

$("#cbAnother").data("kendoComboBox").setDataSource(dataS);
},
function() {
....
}
);
};

其余代码....我很确定我正在结束所有牙套

最佳答案

我发现这是一个错误,所以我回滚到以前的版本并且一切顺利。

关于c# - 为 kendo ui Combobox 触发了两次更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48589311/

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