我试图做到这一点,但循环在第一次触发后结束。任何想法来帮助我?jQuery触发点击循环后停止第一个
$(document).on('click', '#configurator .myalbumimgs .autofill', function(e) {
e.preventDefault();
var nb_of_images = $('#grid div.configimg').length;
for (i = 0; i < nb_of_images; i++) {
alert(i);
$('.imgpicker .photo .add').eq(i).trigger('click');
}
});
编辑1:一切工作正常,如果我删除$( 'imgpicker .photo。新增 ')等式(1).trigger(' 点击');并让循环运行。
如果我把一个数字,像eq(3)选择正确的一个,但只有那一个。然后它像以前一样停下来。
在控制台中没有错误:S
编辑2:发现了正确的解决方案,我的错误与错误的元素上.EQ。感谢所有的建议!正确的代码:
$(document).on('click', '#configurator .myalbumimgs .autofill', function(e) {
e.preventDefault();
if ($(this).not('.done')) {
var multiselector_nbimages = $('#grid').attr('data-nbimages');
var nb_images_selected = parseInt($('#grid div.configimg').not('.temp').length);
var max_nb_images = parseInt(multiselector_nbimages);
if (nb_images_selected < max_nb_images) {
var album_images = $(this).parent().parent().children('.imgpicker').children('.photo');
var nb_of_grid_images = $('#grid div.configimg.temp').length;
for (i = 0; i < nb_of_grid_images; i++) {
album_images.eq(i).children('.add').not('.selected').trigger('click');;
}
$(this).addClass('done');
} else {
alert(lang_valid_max_nb_of_photos);
}
}
});
@Alexander长度属性... –
检查控制台是否有错误。它可能会因为错误而中断 –
任何控制台错误,并且您应该执行.length -1,因为您从循环中的0开始,并且长度从1开始计数 – noitse