我有一個腳本,在提交article-id時通過我的kendo-grid循環,此腳本在找到匹配項時爲數量添加+1。發現匹配後,我希望我的腳本停止循環,因爲相同的article-id在網格中可以有多於一個的行,並且想法僅在第一個匹配中添加+1。我知道一個foreach循環不能包含break;
,並且使用for-loop似乎不適用於kendo網格數據行。目前該代碼爲每個匹配行添加+1。有誰知道我能做到這一點?如何停止成功循環
JS:
$('#txtBarcode').submit(function (e) {
var grid = $("#GCLinesGrid").data("kendoGrid");
var dataSource = $("#GCLinesGrid").data("kendoGrid").dataSource;
var allData = grid.dataSource.data();
var code = this.value;
$.each(allData, function (index, item) {
if (item.ArticleCode == code) {
if (item.CollectedQuantity < item.Quantity) {
item.CollectedQuantity++;
item.dirty = true;
dataSource.sync();
}
}
})
})
不要使用jQuery'each',只是做一個簡單的'for'循環和退出,當您需要。 – DavidG
您可以通過返回false來中止jQuery'each'。或者你可以使用[Array#find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)來獲取正確的項目:'var item = allData.find (item => item.ArticleCode === code && item.CollectedQuantity
Thomas