0

我是 jQuery 的新手,所以我不知道这有什么问题。我想为自动完成 ui 的源设置一个数组并设置为一个变量,以便我以后可以使用它。当用户关闭选项菜单时,我想将数组中的项目与文本框中的内容进行比较。如果用户的输入与数组中的项目匹配,则输入应附加到正文中。如果不匹配,则不应附加。看起来我在创建数组时遇到了问题。因为我在那一行有语法错误。这是代码:

$( "#autocomplete" ).autocomplete({
  var arr = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
    source : arr,
  close: function(){
    var val = $('input#autocomplete').val()
    if ($.inArray(val,arr) > -1) {
    $('body').append(val);
}


}
}); 

小提琴

4

2 回答 2

1

JavaScript 不允许var直接在Object文字中放置声明 -- {...}

您只需要将它们分成单独的语句:

var arr = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ];

$( "#autocomplete" ).autocomplete({
    source: arr,
    close: function(){
        var val = $('input#autocomplete').val()
        if ($.inArray(val,arr) > -1) {
            $('body').append(val);
        }
    }
});
于 2013-10-12T22:36:00.117 回答
0

你的语法是错误的。变量初始化是用 完成的=,而不是:

var arr = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ],
    source  = arr,
  close = function(){
    var val = $('input#autocomplete').val();
    if ($.inArray(val,arr) > -1) {
       $('body').append(val);
    };
  };
于 2013-10-12T22:30:31.197 回答