Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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循环(使用foreach或each)_Javascript_Loops_Foreach_Jquery - Fatal编程技术网

javascript循环(使用foreach或each)

javascript循环(使用foreach或each),javascript,loops,foreach,jquery,Javascript,Loops,Foreach,Jquery,这段代码可以在javascript中变成循环吗? 感谢您帮助我学习javascript html: 你是说像这样的 for (i = 1; i < 4; i++) { document.getElementById("selector" + i).addEventListener("change",function(){ document.getElementById("files" + i).value= document.getEleme

这段代码可以在javascript中变成循环吗? 感谢您帮助我学习javascript

html:


你是说像这样的

for (i = 1; i < 4; i++) {
    document.getElementById("selector" + i).addEventListener("change",function(){
        document.getElementById("files" + i).value=
            document.getElementById("selector" +i).files[0].name;
        $('#checkBox' + i).css({'display': 'block'});
    });
}
(i=1;i<4;i++)的
{
document.getElementById(“选择器”+i).addEventListener(“更改”,函数(){
document.getElementById(“文件”+i).value=
document.getElementById(“选择器”+i).files[0]。名称;
$('#复选框'+i).css({'display':'block'});
});
}

//我用了3次,你可以给出你想要的次数

for ( var i = 1; i < 3; i++ ) {
    document.getElementById("selector"+i.toString()).addEventListener("change",function(){
    document.getElementById("files"+i.toString()).value=
        document.getElementById("selector"+i.toString()).files[0].name;
    $('#checkBox'+i.toString()).css({'display': 'block'});
});
}
for(变量i=1;i<3;i++){
document.getElementById(“选择器”+i.toString()).addEventListener(“更改”,函数(){
document.getElementById(“files”+i.toString()).value=
document.getElementById(“选择器”+i.toString()).files[0]。名称;
$('#checkBox'+i.toString()).css({'display':'block'});
});
}
试试这个:

$('input[id^=selector]').each(function(){
    this.parent().next('div[class="checkBox"]').css({'display': 'block'});
    this.prev().val(this.files[0].name);
});

非常基本:使用循环索引连接选择器(不要忘记闭包!)

最好不要将jQuery和JavaScript混用以提高可读性:

var n = 3
for (var i = 1; i <= n; i++) {
    $("selector" + i).on("change", (function (i) {
        return function () {
            $("files" + i).val($("selector" + i).get(0).files[0].name);
            $("#checkBox" + i).css({
                "display": "block"
            });
        }
    })(i));
}
var n=3

对于(var i=1;我还需要查看您的html代码
method还…@Sergio我添加了我的html!谢谢回复这两个div是否有父div?我只是在我的代码中写了相同的答案,在我选择文件后,它会在输入框中显示文件名,但这没有在输入框中显示文件名在代码中,在我选择文件后,它会在输入框中显示文件名,但是s没有在inputbox中显示文件名在我的代码中,在我选择文件后,它将在输入框中显示文件名,但这没有在inputbox中显示文件名
$('input[id^=selector]').each(function(){
    this.parent().next('div[class="checkBox"]').css({'display': 'block'});
    this.prev().val(this.files[0].name);
});
var n = 3
for (var i = 1; i <= n; i++) {
    $("selector" + i).on("change", (function (i) {
        return function () {
            $("files" + i).val($("selector" + i).get(0).files[0].name);
            $("#checkBox" + i).css({
                "display": "block"
            });
        }
    })(i));
}