Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Jquery$。每个循环计数器_Jquery - Fatal编程技术网

Jquery$。每个循环计数器

Jquery$。每个循环计数器,jquery,Jquery,在文本输入中键入数据时,我正在运行此代码: $("input#search").live("keyup", function(e) { var search_string = $(this).val(); var i = 0; var trHTML = ''; if(search_string !== '') { $.ajax({ type: "POST",

在文本输入中键入数据时,我正在运行此代码:

$("input#search").live("keyup", function(e) {       
        var search_string = $(this).val();
        var i = 0;
        var trHTML = '';
        if(search_string !== '') {
            $.ajax({
                type: "POST",
                dataType: "json",
                url: "/section/search_go",
                data: { query: search_string },
                cache: false,
                success: function(response) {
                    $.each(response, function(i, item) {


                        trHTML += '<tr>';
                        trHTML += '<td>' + item.accountnumber + '</td>';
                        trHTML += '<td>' + item.company + '</td>';
                        trHTML += '<td>' + item.phone + '</td>';
                        trHTML += '<td>' + item.postcode + '</td>';
                        trHTML += '</tr>';
                    });
                    $('#customers').html(trHTML);
                }
            });
            console.log(i);
        }

        /*if(counter === 0 || search_string == '') {
            $('#customers').html('<tr><td colspan="4">No Results</td></tr>');
        }*/
    });
$(“输入#搜索”).live(“键控”,函数(e){
var search_string=$(this.val();
var i=0;
var trHTML='';
如果(搜索字符串!=''){
$.ajax({
类型:“POST”,
数据类型:“json”,
url:“/section/search\u go”,
数据:{query:search_string},
cache:false,
成功:功能(响应){
$。每个(响应、功能(i、项目){
trHTML+='';
trHTML+=''+item.accountnumber+'';
trHTML+=''+item.company+'';
trHTML+=''+item.phone+'';
trHTML+=''+item.postcode+'';
trHTML+='';
});
$('#customers').html(trHTML);
}
});
控制台日志(i);
}
/*如果(计数器===0 | |搜索字符串==''){
$('#customers').html('无结果');
}*/
});
我正在尝试获取
$中的记录数。每个
循环都有记录,但我似乎无法做到这一点


我尝试过使用函数中的
i
,我也尝试过添加
计数器
变量,我为每个循环添加了
计数器+
,但仍然不起作用

我希望如果您需要获得循环运行的次数

只需做
response.length
。两者都是一样的

$("input#search").live("keyup", function(e) {       
        var search_string = $(this).val();
        var resultLength;   //Declare variable
        var i = 0;
        var trHTML = '';
        if(search_string !== '') {
            $.ajax({
                type: "POST",
                dataType: "json",
                url: "/section/search_go",
                data: { query: search_string },
                cache: false,
                success: function(response) {
                    resultLength = response.length;  //assign the length
                    $.each(response, function(i, item) {


                        trHTML += '<tr>';
                        trHTML += '<td>' + item.accountnumber + '</td>';
                        trHTML += '<td>' + item.company + '</td>';
                        trHTML += '<td>' + item.phone + '</td>';
                        trHTML += '<td>' + item.postcode + '</td>';
                        trHTML += '</tr>';
                    });
                    $('#customers').html(trHTML);
                }
            });
            console.log(i);
        }

        /*if(resultLength === 0 || search_string == '') {  //access here
            $('#customers').html('<tr><td colspan="4">No Results</td></tr>');
        }*/
    });
$(“输入#搜索”).live(“键控”,函数(e){
var search_string=$(this.val();
var resultLength;//声明变量
var i=0;
var trHTML='';
如果(搜索字符串!=''){
$.ajax({
类型:“POST”,
数据类型:“json”,
url:“/section/search\u go”,
数据:{query:search_string},
cache:false,
成功:功能(响应){
resultLength=response.length;//指定长度
$。每个(响应、功能(i、项目){
trHTML+='';
trHTML+=''+item.accountnumber+'';
trHTML+=''+item.company+'';
trHTML+=''+item.phone+'';
trHTML+=''+item.postcode+'';
trHTML+='';
});
$('#customers').html(trHTML);
}
});
控制台日志(i);
}
/*如果(resultLength==0 | | search_string===''){//access here
$('#customers').html('无结果');
}*/
});

我希望如果您需要运行循环的次数

只需做
response.length
。两者都是一样的

$("input#search").live("keyup", function(e) {       
        var search_string = $(this).val();
        var resultLength;   //Declare variable
        var i = 0;
        var trHTML = '';
        if(search_string !== '') {
            $.ajax({
                type: "POST",
                dataType: "json",
                url: "/section/search_go",
                data: { query: search_string },
                cache: false,
                success: function(response) {
                    resultLength = response.length;  //assign the length
                    $.each(response, function(i, item) {


                        trHTML += '<tr>';
                        trHTML += '<td>' + item.accountnumber + '</td>';
                        trHTML += '<td>' + item.company + '</td>';
                        trHTML += '<td>' + item.phone + '</td>';
                        trHTML += '<td>' + item.postcode + '</td>';
                        trHTML += '</tr>';
                    });
                    $('#customers').html(trHTML);
                }
            });
            console.log(i);
        }

        /*if(resultLength === 0 || search_string == '') {  //access here
            $('#customers').html('<tr><td colspan="4">No Results</td></tr>');
        }*/
    });
$(“输入#搜索”).live(“键控”,函数(e){
var search_string=$(this.val();
var resultLength;//声明变量
var i=0;
var trHTML='';
如果(搜索字符串!=''){
$.ajax({
类型:“POST”,
数据类型:“json”,
url:“/section/search\u go”,
数据:{query:search_string},
cache:false,
成功:功能(响应){
resultLength=response.length;//指定长度
$。每个(响应、功能(i、项目){
trHTML+='';
trHTML+=''+item.accountnumber+'';
trHTML+=''+item.company+'';
trHTML+=''+item.phone+'';
trHTML+=''+item.postcode+'';
trHTML+='';
});
$('#customers').html(trHTML);
}
});
控制台日志(i);
}
/*如果(resultLength==0 | | search_string===''){//access here
$('#customers').html('无结果');
}*/
});
控制台。日志(i)必须位于每个函数的内部

success: function(response) {
                $.each(response, function(i, item) {


                    trHTML += '<tr>';
                    trHTML += '<td>' + item.accountnumber + '</td>';
                    trHTML += '<td>' + item.company + '</td>';
                    trHTML += '<td>' + item.phone + '</td>';
                    trHTML += '<td>' + item.postcode + '</td>';
                    trHTML += '</tr>';
                    console.log(i);  // this "i" from here function(i, item)
                });
成功:功能(响应){
$。每个(响应、功能(i、项目){
trHTML+='';
trHTML+=''+item.accountnumber+'';
trHTML+=''+item.company+'';
trHTML+=''+item.phone+'';
trHTML+=''+item.postcode+'';
trHTML+='';
console.log(i);//这个“i”from here函数(i,item)
});
控制台。日志(i)必须位于每个函数的内部

success: function(response) {
                $.each(response, function(i, item) {


                    trHTML += '<tr>';
                    trHTML += '<td>' + item.accountnumber + '</td>';
                    trHTML += '<td>' + item.company + '</td>';
                    trHTML += '<td>' + item.phone + '</td>';
                    trHTML += '<td>' + item.postcode + '</td>';
                    trHTML += '</tr>';
                    console.log(i);  // this "i" from here function(i, item)
                });
成功:功能(响应){
$。每个(响应、功能(i、项目){
trHTML+='';
trHTML+=''+item.accountnumber+'';
trHTML+=''+item.company+'';
trHTML+=''+item.phone+'';
trHTML+=''+item.postcode+'';
trHTML+='';
console.log(i);//这个“i”from here函数(i,item)
});

您的方法的主要问题是,
$.ajax()
调用是异步的。这是web开发的一个非常重要的部分:ajax请求(以及通常的HTTP请求)可能需要很长时间(有时需要30秒或更长的时间),如果您的JavaScript代码在等待完成时被阻止,则整个浏览器将被锁定。(有关详细信息,请参阅链接的MDN文章。)

这对您意味着任何依赖于
$.ajax()
请求结果的代码都必须从
success
回调函数中触发,该回调函数在HTTP请求成功返回数据时运行

关于代码的另一条评论,与您的问题无关: