-1

デモ

HTML:

<link rel="stylesheet" href="token-input-facebook.css" />
<script src="jquery.tokeninput.js"></script>
<br/><label for="ExpFilter">Expl:</label><br/>
<input type="text"  id="ExpFilter" style="width:100px"/>        

jQuery:

var Code_Expl = [
{ id: 0, name:"+ DESIGNATED CONTRACTING STATES:"},
{ id: 1, name:"+ EXTENSION OF THE EUROPEAN PATENT TO"},
{ id: 2, name:"+ REQUEST FOR EXAMINATION FILED"},
{ id: 3, name:"+ PAYMENT OF DESIGNATION FEES"},
{ id: 4, name:"+ FIRST EXAMINATION REPORT"},
{ id: 5, name:"- LAPSED IN A CONTRACTI...FROM NAT. OFFICE TO EPO"},
{ id: 6, name:"+ EUROPEAN PATENT GRANTED"},
{ id: 7, name:"+ ENTRY IN THE NATIONAL PHASE"},
{ id: 8, name:"BE: CHANGE OF HOLDER'S NAME"},
{ id: 9, name:"CORRESPONDS TO:"},
{ id:10, name:"+ EUROPEAN PATENTS GRANTED DESIGNATING IRELAND"},
{ id:11, name:"- PATENT CEASED"},
{ id:12, name:"- FR: TRANSLATION NOT FILED"},
{ id:13, name:"+ NO OPPOSITION FILED"},
{ id:14, name:"- PATENT LAPSED"},
{ id:15, name:"+ POSTGRANT: ANNUAL FEES PAID TO NATIONAL OFFICE"},
{ id:16, name:"- BE: LAPSED"},
{ id:17, name:"- GB: EUROPEAN PATENT C...-PAYMENT OF RENEWAL FEE"}
];

作品:

var query = "+ DE";  
var results = $.grep(Code_Expl, function (row) {
  return row.name.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
console.log(results);  
// ---------------------

動作しますが、PLUSで始まるコンテンツではありません-なぜですか?上記と同じgrepを使用しています。失敗しているのはpopulate関数のようですが、理由がわかりません。

$(document).ready(function() {
  $("#ExpFilter").tokenInput(Code_Expl,{theme: "facebook"});
});    
4

3 に答える 3

2

この問題は、6か月前にgithubのコミットで修正されました。

https://github.com/loopj/jquery-tokeninput/pull/314

ウェブサイトからではなくgithubからマスターをダウンロードするだけで、問題ありません。私自身のサイトでも「C++」というカテゴリで同じ問題が発生しました。

于 2012-11-19T14:22:33.027 に答える
1

問題はこれら2つの関数の正規表現にあることを理解する必要があります。

    function highlight_term(value, term) {
        return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<b>$1</b>");
    }

    function find_value_and_highlight_term(template, value, term) {
        return template.replace(new RegExp("(?![^&;]+;)(?!<[^<>]+)(" + value + ")(?![^<>]*>)(?![^&;]+;)", "g"), highlight_term(value, term));
    }

目的の出力を取得するには、この正規表現を変更する必要があります。

于 2012-05-07T15:54:03.520 に答える
0

同じ問題が発生しました。+文字を&#43unicodeに置き換えるだけです:)

于 2012-11-15T14:31:13.800 に答える