Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 Jquery无限数数组事件_Javascript_Jquery - Fatal编程技术网

Javascript Jquery无限数数组事件

Javascript Jquery无限数数组事件,javascript,jquery,Javascript,Jquery,我不确定这是否是你所说的,但基本上,我正在获取一个城市列表,它存储在本地存储的一个键中。我用逗号将它们拆分,然后动态地检查带有id对应值的复选框。现在我想在其中有任意数量的城市,所以我不想单独检查[0]、[1]等框,但是否有一种无限的方法来执行此操作或其他操作。抱歉,如果这不清楚,我会在下面发布我的代码,下面的代码是检查0-5键的框,我想能够执行0-无限,可以这么说。感谢您的帮助 <script type="text/javascript"> var refr

我不确定这是否是你所说的,但基本上,我正在获取一个城市列表,它存储在本地存储的一个键中。我用逗号将它们拆分,然后动态地检查带有id对应值的复选框。现在我想在其中有任意数量的城市,所以我不想单独检查[0]、[1]等框,但是否有一种无限的方法来执行此操作或其他操作。抱歉,如果这不清楚,我会在下面发布我的代码,下面的代码是检查0-5键的框,我想能够执行0-无限,可以这么说。感谢您的帮助

<script type="text/javascript">
            var refreshId = setInterval(function()
                                        {
            var citySplit = localStorage.getItem("city2");

            var myResult = citySplit.split(",");

            $("#"+myResult[0]+"").prop("checked", true);
            $("#"+myResult[1]+"").prop("checked", true);
            $("#"+myResult[2]+"").prop("checked", true);
            $("#"+myResult[3]+"").prop("checked", true);
            $("#"+myResult[4]+"").prop("checked", true);
            $("#"+myResult[5]+"").prop("checked", true);
             }, 6500);

            </script>

var refreshId=setInterval(函数()
{
var citySplit=localStorage.getItem(“city2”);
var myResult=城市分割(“,”);
$(“#”+myResult[0]+”).prop(“选中”,true);
$(“#”+myResult[1]+”).prop(“选中”,true);
$(“#”+myResult[2]+”).prop(“选中”,true);
$(“#”+myResult[3]+”).prop(“选中”,true);
$(“#”+myResult[4]+”).prop(“选中”,true);
$(“#”+myResult[5]+”).prop(“选中”,true);
}, 6500);
有很多方法可以做到这一点: 注意:所有这些示例都未经测试


简单
循环-0,1,2,3,4

var i = 0,
    len = myResult.length;

while ( i < len ) {
    $( "#" + myResult[i] ).prop("checked", true);
    i++;
}
for ( var i = 0, len = myResult.length; i < len; i++ ) {
    $( "#" + myResult[i] ).prop("checked", true);
}
while( myResult.length ) {
    $( "#" + myResult.shift() ).prop("checked", true);
}

jQuery。使用
this

$.each(myResult, function() {
    $( "#" + this ).prop("checked", true);
}
jQuery。每个
方法都使用
参数[1]


同时
从4,3,2,1,0后面循环

var len = myResult.length

while( len-- ) {
    $( "#" + myResult[len] ).prop("checked", true);
}
for( var i = myResult.length; i > 0; i-- )
    $( "#" + myResult[i-1] ).prop("checked", true);
while( myResult.length ) {
    $( "#" + myResult.pop() ).prop("checked", true);
}

用于
-从4,3,2,1,0后面循环

var len = myResult.length

while( len-- ) {
    $( "#" + myResult[len] ).prop("checked", true);
}
for( var i = myResult.length; i > 0; i-- )
    $( "#" + myResult[i-1] ).prop("checked", true);
while( myResult.length ) {
    $( "#" + myResult.pop() ).prop("checked", true);
}

循环弹出数组时,这会从4、3、2、1、0后面销毁数组

var len = myResult.length

while( len-- ) {
    $( "#" + myResult[len] ).prop("checked", true);
}
for( var i = myResult.length; i > 0; i-- )
    $( "#" + myResult[i-1] ).prop("checked", true);
while( myResult.length ) {
    $( "#" + myResult.pop() ).prop("checked", true);
}
循环移位数组时,这会从0、1、2、3、4开始销毁数组

var i = 0,
    len = myResult.length;

while ( i < len ) {
    $( "#" + myResult[i] ).prop("checked", true);
    i++;
}
for ( var i = 0, len = myResult.length; i < len; i++ ) {
    $( "#" + myResult[i] ).prop("checked", true);
}
while( myResult.length ) {
    $( "#" + myResult.shift() ).prop("checked", true);
}




正如您所看到的,有许多方法可以处理数组

对于简单的事情,我建议您使用前两种方法之一

jQuery.each
方法非常好,因为您可以在局部范围内获取数组的键和值。(key=0,1,2,3,4,…)(value=what ever
myResult[key]
is)

我们破坏阵列的两个地方也很好。但是,在您理解更简单的方法之前,我不建议您不要使用这些方法。我所能想到的使用这种方法的情况是,如果您必须按特定顺序加载大量文件或初始化大量函数:

var func1 = function() {
        alert("func1");
    },
    func2 = function() {
        alert("func2");
    },
    func3 = function() {
        alert("func3");
    },
    queue = [func1, func2, func3];

while( queue.length ) {
    (queue.shift())(); 
    // or
    //(queue.pop())();
}
有很多方法可以做到这一点: 注意:所有这些示例都未经测试


简单
循环-0,1,2,3,4

var i = 0,
    len = myResult.length;

while ( i < len ) {
    $( "#" + myResult[i] ).prop("checked", true);
    i++;
}
for ( var i = 0, len = myResult.length; i < len; i++ ) {
    $( "#" + myResult[i] ).prop("checked", true);
}
while( myResult.length ) {
    $( "#" + myResult.shift() ).prop("checked", true);
}

jQuery。使用
this

$.each(myResult, function() {
    $( "#" + this ).prop("checked", true);
}
jQuery。每个
方法都使用
参数[1]


同时
从4,3,2,1,0后面循环

var len = myResult.length

while( len-- ) {
    $( "#" + myResult[len] ).prop("checked", true);
}
for( var i = myResult.length; i > 0; i-- )
    $( "#" + myResult[i-1] ).prop("checked", true);
while( myResult.length ) {
    $( "#" + myResult.pop() ).prop("checked", true);
}

用于
-从4,3,2,1,0后面循环

var len = myResult.length

while( len-- ) {
    $( "#" + myResult[len] ).prop("checked", true);
}
for( var i = myResult.length; i > 0; i-- )
    $( "#" + myResult[i-1] ).prop("checked", true);
while( myResult.length ) {
    $( "#" + myResult.pop() ).prop("checked", true);
}

循环弹出数组时,这会从4、3、2、1、0后面销毁数组

var len = myResult.length

while( len-- ) {
    $( "#" + myResult[len] ).prop("checked", true);
}
for( var i = myResult.length; i > 0; i-- )
    $( "#" + myResult[i-1] ).prop("checked", true);
while( myResult.length ) {
    $( "#" + myResult.pop() ).prop("checked", true);
}
循环移位数组时,这会从0、1、2、3、4开始销毁数组

var i = 0,
    len = myResult.length;

while ( i < len ) {
    $( "#" + myResult[i] ).prop("checked", true);
    i++;
}
for ( var i = 0, len = myResult.length; i < len; i++ ) {
    $( "#" + myResult[i] ).prop("checked", true);
}
while( myResult.length ) {
    $( "#" + myResult.shift() ).prop("checked", true);
}




正如您所看到的,有许多方法可以处理数组

对于简单的事情,我建议您使用前两种方法之一

jQuery.each
方法非常好,因为您可以在局部范围内获取数组的键和值。(key=0,1,2,3,4,…)(value=what ever
myResult[key]
is)

我们破坏阵列的两个地方也很好。但是,在您理解更简单的方法之前,我不建议您不要使用这些方法。我所能想到的使用这种方法的情况是,如果您必须按特定顺序加载大量文件或初始化大量函数:

var func1 = function() {
        alert("func1");
    },
    func2 = function() {
        alert("func2");
    },
    func3 = function() {
        alert("func3");
    },
    queue = [func1, func2, func3];

while( queue.length ) {
    (queue.shift())(); 
    // or
    //(queue.pop())();
}

循环查看
myResult

for (var i = 0; i < myResult.length; i++) {
     $("#"+myResult[i]+"").prop("checked", true);
}
for(var i=0;i
循环
myResult

for (var i = 0; i < myResult.length; i++) {
     $("#"+myResult[i]+"").prop("checked", true);
}
for(var i=0;i
将类名添加到公共复选框中,让jQuery一次性完成所有工作

$(".myChecks").prop("checked", true);

将类名添加到公共复选框中,让jQuery一次性完成所有工作

$(".myChecks").prop("checked", true);

可以使用城市数组的长度

 var myResult = citySplit.split(",");
 var upto = myResult.length;
 for(var i =0;i< upto ; i++)
       $("#"+myResult[i]+"").prop("checked", true);
var myResult=citySplit.split(“,”);
var upto=myResult.length;
对于(变量i=0;i
您可以使用城市数组的长度

 var myResult = citySplit.split(",");
 var upto = myResult.length;
 for(var i =0;i< upto ; i++)
       $("#"+myResult[i]+"").prop("checked", true);
var myResult=citySplit.split(“,”);
var upto=myResult.length;
对于(变量i=0;i
为什么要在选择器的末尾追加空字符串?保存。for循环之前的长度将更为理想IMHO@gdoron,我只是复制了他的复选框操作。关于末尾的空字符串,您是正确的。@hvgotcodes我个人没有分析过这种更改,但我在这里的一篇专家文章中发现了这样的观点:为什么要在选择器的末尾附加空字符串?在for循环之前保存。长度将更为优化IMHO@gdoron,我只是复制了他的复选框操作。关于结尾的空字符串,您是正确的。@hvgotcodes我个人并没有分析过这种变化,但我在这里的一篇专家文章中发现了这种观点: