将jQuery Autocomplete与Bootstrap TagsInput结合:'autocomplete {..}'出错

时间:2018-07-08 20:01:28

标签: jquery twitter-bootstrap jquery-ui-autocomplete bootstrap-tags-input

我正在将jQuery AutocompleteBootstrap TagsInput合并。也就是说,在文本字段中输入会产生服务器端搜索和提前输入(第1部分,jQuery AutoComplete);然后在选择一个条目后,应将其汇总到同一框中的多标签控件中(第2部分,Bootstrap TagsInput)。

我的第1部分运行正常。我在下面得到了正确的服务器端Ajax jQuery Autocomplete行为。

 $('#approverReviewers').autocomplete({
          source: function( request, response ) {
                $.ajax({
                      url: "searchVdsPerson",
                      dataType: "json",
                      type: "post",
                      data: {
                        'searchCriteria.term': request.term
                      }
                  },         
                  success: function( data ) {
                      response( $.map( data.searchCriteria.vdsResult, function( item ) {
                          return { 
                            label: item.fullName + ' / ' + item.mail, 
                            value: item.id 
                          };
                      }));
                 }
                });
              },
          minLength: 2,
          select: myCustomSelectHandler
     });

接下来,我想我可以将其直接嵌入Bootstrap TagsInput的 autocomplete 属性中,如下所示。

$('#approverReviewers').tagsInput({
        autocomplete_url:'searchVdsPerson',
        autocomplete: { .. }     // Embed AutoComplete here? 
});

基于多个线程,重要的是拥有一个非NULL的autocomplete_url,然后autocomplete可以照常支持服务器端source / success的调用:

Can we use jQueryUI autocomplete with jQuery tags input plugin?

jquery tagsinput and ui autocomplete: can they work with pre-loaded source?

但是在我的情况下,当我将自动完成代码复制到Bootstrap TagsInput的自动完成(带有autocomplete_url)时,我开始遇到问题:它不希望使用相同的自动完成吗?

Uncaught SyntaxError: Unexpected token : dataType: "json"
Uncaught SyntaxError: Unexpected token : type: "post"

enter image description here

这是代码:

$('#approverReviewers').tagsInput({
    autocomplete_url:'searchVdsPerson',
    autocomplete: {
        source: function(request, response) {
              url: "searchVdsPerson",
              dataType: "json",
              type: "post",
              data: {
                'searchCriteria.term': request.term
              }
        },

        success: function( data ) {
              response( $.map( data.searchCriteria.vdsResult, function( item ) {
                  return { 
                    label: item.fullName + ' / ' + item.mail, 
                    value: item.id 
                  };
              }));
        }       
    }
});

0 个答案:

没有答案