У меня есть сетка kendo ui, на событие изменения строки Я беру идентификатор строки и передаю ее другой функции, которая загружает другие сетки. Я попытался упростить операцию, чтобы выяснить, как это сделать.kendo ui grid добавить запись более одного раза
HTML код
<input type="button" id="load-first" value="Load 108" />
<input type="button" id="load-second" value="Load 92" />
Javascript
$("#load-first").click(function(){
loadEmailGrid(108);
});
$("#load-second").click(function(){
loadEmailGrid(92);
});
function loadEmailGrid(salesRepsId) {
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "operations/get_emails_sales_reps.php?salesRepsId=" + salesRepsId,
type: "GET"
},
update: {
url: "operations/edit_email.php?salesRepsId=" + salesRepsId,
type: "POST",
complete: function (e) {
$("#email-grid").data("kendoGrid").dataSource.read();
}
},
destroy: {
url: "operations/delete_email.php",
type: "POST",
complete: function (e) {
$("#email-grid").data("kendoGrid").dataSource.read();
}
},
create: {
url: "operations/add_email.php?salesRepsId=" + salesRepsId,
type: "POST",
complete: function (e) {
$("#email-grid").data("kendoGrid").dataSource.read();
}
},
},
schema: {
data: "data",
total: "data.length", //total amount of records
model: {
id: "EmailId",
fields: {
EmailType: {
defaultValue: {
EmailTypeId: 2,
EmailTypeName: "Home"
}
},
EmailText: {
type: "string"
},
IsMainEmail: {
type: "boolean"
},
}
}
},
pageSize: 5,
});
//dataSource.sync();
$("#email-grid").kendoGrid({
dataSource: dataSource,
height: 250,
filterable: true,
sortable: true,
pageable: true,
reorderable: false,
groupable: false,
batch: true,
navigatable: true,
toolbar: ["create", "save", "cancel"],
editable: true,
columns: [{
field: "EmailType",
title: "Type",
editor: EmailTypeDropDownEditor,
template: "#=EmailType.EmailTypeName#",
filterable: {
extra: false,
field: "EmailType.EmailTypeName",
operators: {
string: {
startswith: "Starts with",
eq: "Is equal to",
neq: "Is not equal to"
}
}
}
}, {
field: "EmailText",
title: "Email",
}, {
field: "IsMainEmail",
title: "Main?",
width: 65,
template: function (e) {
if (e.IsMainEmail == true) {
return '<img align="center" src ="images/check-icon.png" />';
} else {
return '';
}
}
// hidden: true
}, {
command: "destroy",
title: " ",
width: 90
},
]
});
}
пример обратного add_email.php
[{ "EMAILID": 200}]
если Я загружаю g избавиться от одного идентификатора, например, нажмите кнопку «Нажать 108». Операция добавления работает отлично. Но когда я нажимаю и смешиваю между двумя кнопками. т.е. загружать сетку с разными идентификаторами. Функция добавления, называемая много раз одной с предыдущим идентификатором, а другая - с идентификатором кнопки. больше клика между кнопками, вызывается функция add add.
Это link, что указывает на проблему.
Пожалуйста, как я могу это исправить? Я пробовал много вещей без везения
это не работает :( – Kamal
пожалуйста, проверьте ссылку выше, может быть, вы можете понять что-то – Kamal
я посмотрю, что проблема именно Каждый щелчок кнопки, кажется, заменить.? старый источник данных. Можете ли вы рассказать мне, как воспроизвести проблему? – AntouanK