如何为jquery ui自动完成添加额外的分隔符

时间:2015-01-27 02:10:27

标签: javascript jquery jquery-ui

我有一个自动完成的本地数组,效果很好。

如何添加空间'作为"标记"的分隔符不是源数组的字符串。到目前为止它只适用于逗号","

我使用的是jquery ui网站的股票代码。

                function split( val ) {
                  return val.split( /,\s*/ );
                }
                function extractLast( term ) {
                  return split( term ).pop();
                }

                $( "#create-post__search-field--tags" )
                  // don't navigate away from the field on tab when selecting an item
                  .bind( "keydown", function( event ) {
                    if ( event.keyCode === $.ui.keyCode.TAB &&
                        $( this ).autocomplete( "instance" ).menu.active ) {
                      event.preventDefault();
                    }
                  })
                  .autocomplete({
                    minLength: 0,
                    source: function( request, response ) {
                      // delegate back to autocomplete, but extract the last term
                      response( $.ui.autocomplete.filter(
                        availableTags, extractLast( request.term ) ) );
                    },
                    focus: function() {
                      // prevent value inserted on focus
                      return false;
                    },
                    select: function( event, ui ) {
                      var terms = split( this.value );
                      // remove the current input
                      terms.pop();
                      // add the selected item
                      terms.push( ui.item.value );
                      // add placeholder to get the comma-and-space at the end
                      terms.push( "" );
                      this.value = terms.join( ", " );
                      return false;
                    }

我不希望使用第三方库进行标记。我的需求通过简单的自动完成功能得到满足。

如果可用,我会使用补丁。

谢谢

0 个答案:

没有答案