#javascript #jquery #arrays
#javascript #jquery #массивы
Вопрос:
У меня проблема с этой функцией:
var url = "";
function multiSearchTest() {
var formData = $("#frmSearch").serialize();
var look = new Array("SDO", "AR", "AS", "AC", "AP", "GEMO", "CC");
var count;
for(count = 0; count < look.length; count ){
url = "index.php?Pageamp;module=mod_pageamp;action=dispatchamp;todo=cerca" look[count] "amp;" formData;
console.log(url);
var test = "#" look[count] "result";
$.get(url, function(data) {
$(test).html(data);
console.log("TEST VAL => " test);
});
}
}
Как вы можете видеть, конструкция URL идеальна…но когда я говорю, где печатать выходные данные, он возвращает мне только последнее значение массива. Есть идеи или предложения? В чем моя ошибка?
Комментарии:
1. вы объявили test как переменную, но вы присваиваете ей несколько значений. поэтому сделайте test в виде массива . только тогда он может хранить все эти значения .
Ответ №1:
Объявите var test
вне forloop
. и сделайте его как массив. var test
используйте in for loop
каждый раз, когда он создает новый объект, поэтому объявляйте переменную test вне цикла for
function multiSearchTest() {
var formData = $("#frmSearch").serialize();
var look = new Array("SDO", "AR", "AS", "AC", "AP", "GEMO", "CC");
var count;
var test = [];
for(count = 0; count < look.length; count ){
url = "index.php?Pageamp;module=mod_pageamp;action=dispatchamp;todo=cerca" look[count] "amp;" formData;
console.log(url);
test[count] = "#" look[count] "result";
$.get(url, function(data) {
$(test[count]).html(data);
console.log("TEST VAL => " test[count]);
});
}
}
Комментарии:
1. Благодаря судхарсану и Амиту 🙂 Проблема решена
2. @AntonioDan — Рад вам помочь