0

我有一些 jQuery 代码:

$("#autocomplete").autocomplete({

            source: [
                "Test0", "Test1", "Test2", "Test3"
            ]
        });

而不是静态源,我需要从数组中读取它。我得到它,现在想用这样的 for 循环给出它,但它不起作用!

 for (var i = 0; i < orgUnits.length; i++) {

            debugger;
            var city = orgUnits[i];

            $("#autocomplete").autocomplete({

                source: [
                   city
                ]
            });
        }
4

2 回答 2

3

你可以这样做:

$("#autocomplete").autocomplete({
    source: orgUnits
});
于 2013-09-20T22:46:54.000 回答
0

尝试

  $(function() {
    var orgUnits = ["Test","Test2","Test3","Test4","Test5"];
    var compiledList;
    for (var i = 0; i < orgUnits.length; i++) {
            var city = orgUnits[i];
            compiledList.push(city);
        }
       $("#autocomplete").autocomplete({
      source: compiledList
    });
  });

我看到的最大问题是试图使用“[city]”作为来源,而不是“city”本身。它已经是一个数组,所以你不需要用括号定义数组。

您的代码真正做的是每次将自动完成重置为单个字符串。您要做的是编译数组,然后将其传递给自动完成方法。

如果您只传递 orgUnits 数组本身,则可以跳过 for 循环。

于 2013-09-20T22:50:54.877 回答