自动完成jquery中的两个或多个源

时间:2014-05-22 12:45:06

标签: jquery arrays

自动完成功能中是否可以有两个或更多源? 我的两个数组:

        var availableTags = [];
    $("#toggles h3").each(function() {
           availableTags.push( $(this).text()); 
        });
    var availableAns = [];
    $(".answer").each(function() {
        availableAns.push( $(this).text());
      console.log(availableAns);
        });

以下是获取自动完成源的jquery,它现在只获得一个来源" avaiblableTags"但是我希望它得到#av; avaiblableAns"以及。

$( ".autocomplete #input_1_1" ).autocomplete({
        source: availableTags,
        open: function(event,ui){
    $("#field_1_1 .gfield_label").text($('.ui-autocomplete > li').length +" RESULTATEN");
    }});

并且这样做并不起作用:

    $( ".autocomplete #input_1_1" ).autocomplete({
        source: availableTags,
        source: availableAns,
        open: function(event,ui){
    $("#field_1_1 .gfield_label").text($('.ui-autocomplete > li').length +" RESULTATEN");
    }});

现在它只能得到可用的

2 个答案:

答案 0 :(得分:0)

您可以将两个数组合并为一个。

var all = availableTags.concat(availableAns);

$( ".autocomplete #input_1_1" ).autocomplete({
        source: all,
        open: function(event,ui){
    $("#field_1_1 .gfield_label").text($('.ui-autocomplete > li').length +" RESULTATEN");
}});

答案 1 :(得分:0)

然后,您应该只使用一个组合availableTagsavailableAns值的数组。为什么使用两个不同的阵列 那么你的新代码应该是

    var availableTags = [];
        $("#toggles h3").each(function() {
               availableTags.push( $(this).text()); 
            });

        $(".answer").each(function() {

            availableTags.push( $(this).text());//here push the values into the same array as used above
          console.log(availableTags);
            });

    $( ".autocomplete #input_1_1" ).autocomplete({
        source: availableTags,
        open: function(event,ui){
        $("#field_1_1 .gfield_label").text($('.ui-autocomplete > li').length +" RESULTATEN");
    }});