Iは、PHP json_encode法によって作成された値のJSON表現をフェッチしているAJAX呼び出しを持っている:jQueryのオートコンプリート特殊文字
値はjQueryのによって「コントローラ/ ajax_autocomplete」から採取されている["Montérégie","Montréal - North Shore ","Montréal - South Shore"]
オートコンプリートボックス。
$(function(){ $("#regions").autocomplete({
source: "controller/ajax_autocomplete",
contentType: "application/json; charset=utf-8"
}
});
});
すべての値がcorectly jQueryのUIのUI-オートコンプリートによってピックアップされているが、特別なcharatersは失われます。 Montréal become Montréal, Montérégie become Montérégie
...
JSONテーブルをjquery関数に手作業でコピーすると、問題がなくなるため、特殊文字はhttp転送中に確実に破棄されます。
$(function(){ $("#regions").autocomplete({
contentType: "application/json; charset=utf-8",
source: "["Montérégie","Montréal - North Shore ","Montréal - South Shore"]"
}
});
});
プログラムでHTMLエンティティをデコードするには、テキストボックスの値のために動作しますが、候補リストには、まだHTMLエンティティ
$(function(){ $("#regions").autocomplete({
source: "controller/ajax_autocomplete",
select: function(event, ui) {
event.preventDefault();
this.value = $('<div />').html(ui.item.value).text();
}
});
});
ソリューションは、候補リストでHTMLエンティティをデコードするだろうとの特殊文字を置き換える
これは役立つかどうかを確認するhttp://stackoverflow.com/a/34415506/4802649 – Phiter