2015-10-05 18 views
0

的指示在這個網站我下面的一切:自動完成由「|」分隔的多個不「」

http://jqueryui.com/autocomplete/#multiple

除了通過分離條款「」我是用字符‘|’分離價值。

$("#txtProjectNameAdd") 
     .bind("keydown", function (event) { 
      if (event.keyCode === $.ui.keyCode.TAB && 
      $(this).data("autocomplete").menu.active) { 
       event.preventDefault(); 
      } 
     }).autocomplete({ 
      source: function (request, response) { 
       $.getJSON('@Url.Action("ProjectNameListMulti", "ProjectAssignment")', { 
        term: extractLast(request.term) 
       }, response); 
      }, 
      search: function() { 
       var term = extractLast(this.value); 
       if (term.length < 2) { 
        return false; 
       } 
      }, 
      focus: function() { 
       return false; 
      }, 
      select: function (event, ui) { 
       var terms = split(this.value); 
       terms.pop(); 
       terms.push(ui.item.value); 
       terms.push(""); 
       this.value = terms.join("| "); 
       return false; 
      } 
     }); 

function split(val) { 
     return val.split(/|\s*/); 
    } 

function extractLast(term) { 
     return split(term).pop(); 
    } 

我想有一個與分割功能的問題。據jQuery的自動完成網站上的分割功能是

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

所以我換成「」由‘|’,但自動完成不響應與變化。我如何定製拆分功能。

+0

做出的jsfiddle和張貼鏈接到它一個\

嘗試它之前進行轉義。 –

回答

1

|在正則表達式特殊字符,因此必須使用

/\|\s*/ 
+0

非常感謝你安德魯。我在哪裏可以瞭解更多關於正則表達式中的特殊字符 – DotNetBeginner

+0

你可能想知道的一切,然後是一些在這個網站:http://www.regular-expressions.info/characters.html – Andrew