Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何停止成功的循环_Javascript_Asp.net Mvc_For Loop_Foreach_Kendo Grid - Fatal编程技术网

Javascript 如何停止成功的循环

Javascript 如何停止成功的循环,javascript,asp.net-mvc,for-loop,foreach,kendo-grid,Javascript,Asp.net Mvc,For Loop,Foreach,Kendo Grid,我有一个脚本,当提交一个文章id时,它会在我的剑道网格中循环,当找到匹配项时,这个脚本会在数量上增加+1。找到匹配项后,我希望我的脚本停止循环,因为同一个文章id在网格中可以有多行,并且想法是只向第一个匹配项添加+1。我知道foreach循环不能包含中断和使用for循环似乎不适用于剑道网格数据行。当前,代码将向每个匹配行添加+1。有人知道我怎样才能做到这一点吗 JS: $('#txtBarcode')。提交(函数(e){ var网格=$(“#GCLinesGrid”).data(“kendoGr

我有一个脚本,当提交一个文章id时,它会在我的剑道网格中循环,当找到匹配项时,这个脚本会在数量上增加+1。找到匹配项后,我希望我的脚本停止循环,因为同一个文章id在网格中可以有多行,并且想法是只向第一个匹配项添加+1。我知道foreach循环不能包含
中断和使用for循环似乎不适用于剑道网格数据行。当前,代码将向每个匹配行添加+1。有人知道我怎样才能做到这一点吗

JS:

$('#txtBarcode')。提交(函数(e){
var网格=$(“#GCLinesGrid”).data(“kendoGrid”);
var dataSource=$(“#GCLinesGrid”).data(“kendoGrid”).dataSource;
var allData=grid.dataSource.data();
var代码=此值;
$.each(所有数据、函数(索引、项){
if(item.ArticleCode==代码){
if(item.CollectedQuantity
一个简单的
返回false
一旦找到匹配项,就应该执行此操作。

一个简单的
返回false一旦找到匹配项,就应该这样做。

使用
返回false
是早期跳出循环的正式方法。

使用
返回false
是早期跳出循环的正式方法。

如果为true,则可以使用函数并返回:

$('#txtBarcode').submit(function (e) {
    var grid = $("#GCLinesGrid").data("kendoGrid");
    var dataSource = $("#GCLinesGrid").data("kendoGrid").dataSource;
    var allData = grid.dataSource.data();
    var code = this.value;
    loop(/*args here*/)
})

function loop (/*args you need here*/) {
   $.each(allData, function (item, index) {/*fix forEach*/
      if (item.ArticleCode == code) {
         if (item.CollectedQuantity < item.Quantity) {
            item.CollectedQuantity++;                     
            item.dirty = true;
            dataSource.sync();
            return false; /*or return some value you need*/
         }
      }
   })
}
$('#txtBarcode')。提交(函数(e){
var网格=$(“#GCLinesGrid”).data(“kendoGrid”);
var dataSource=$(“#GCLinesGrid”).data(“kendoGrid”).dataSource;
var allData=grid.dataSource.data();
var代码=此值;
循环(/*参数在这里*/)
})
函数循环(/*此处需要的参数*/){
$.each(所有数据、函数(项、索引){/*fix forEach*/
if(item.ArticleCode==代码){
if(item.CollectedQuantity
如果为true,则可以使用函数并返回:

$('#txtBarcode').submit(function (e) {
    var grid = $("#GCLinesGrid").data("kendoGrid");
    var dataSource = $("#GCLinesGrid").data("kendoGrid").dataSource;
    var allData = grid.dataSource.data();
    var code = this.value;
    loop(/*args here*/)
})

function loop (/*args you need here*/) {
   $.each(allData, function (item, index) {/*fix forEach*/
      if (item.ArticleCode == code) {
         if (item.CollectedQuantity < item.Quantity) {
            item.CollectedQuantity++;                     
            item.dirty = true;
            dataSource.sync();
            return false; /*or return some value you need*/
         }
      }
   })
}
$('#txtBarcode')。提交(函数(e){
var网格=$(“#GCLinesGrid”).data(“kendoGrid”);
var dataSource=$(“#GCLinesGrid”).data(“kendoGrid”).dataSource;
var allData=grid.dataSource.data();
var代码=此值;
循环(/*参数在这里*/)
})
函数循环(/*此处需要的参数*/){
$.each(所有数据、函数(项、索引){/*fix forEach*/
if(item.ArticleCode==代码){
if(item.CollectedQuantity
不要使用jQuery
每个
,只需对
循环执行一个简单的
,并在需要时退出。您可以通过返回
false来中止jQuery
每个
。或者您可以使用来获取适当的项:
var item=allData.find(item=>item.ArticleCode==code&&item.CollectedQuantity
不要使用jQuery
每个
,只需对
循环执行一个简单的
,并在需要时退出。您可以通过返回
false来中止jQuery
每个
。或者您可以使用来获取适当的项:
var item=allData.find(item=>item.ArticleCode==code&&item.CollectedQuantity
这是jQuerys
each()
循环的一个特性,不适用于本机数组方法。这是jQuerys
each()
循环的一个特性,不适用于本机数组方法。我只是想说清楚。太棒了,很高兴我能帮上忙!太棒了,很高兴我能帮忙!