0

これらがどのように html オブジェクトに変換されていないのかわかりません。

私はこの機能を持っています:

var findPattern = new RegExp(request.term.toLowerCase(), "ig");
var highlightMatch = function(match) {
  return '<span class="highlight">' + match + '</span>';
};

そして、ここで使用されます:

source: function(request, response) {
  $autocomplete_xhr = $.ajax({
    // .. truncated for your viewing pleasure ..
    success: function() {
      return {
         label: $.string(label).interpolate({name: row.customer.name, address: (row.customer.addr == null) ? '' : row.customer.addr}).str.replace(findPattern, highlightMatch),

しかし、結果として、<span>タグが HTML として解析されるのではなく、タグが表示されます。

なぜこれが起こっているのか、そしてこれを改善するために私にできることはありますか?

4

1 に答える 1

0

とった!これをオートコンプリート コードの最後に追加しました。これは、JS ライブラリに含まれているコードとまったく同じであることを理解するためのものです。したがって、ソースから抽出して手動でファイルに配置した場合にのみこれが機能する理由がわかりません..

      })
      .each(function() {
        // Señor Hackovitz for rendering HTML elements..
        $(this).data("autocomplete")._renderItem = function(ul, item) {
          return $( "<li></li>" )
              .data( "item.autocomplete", item )
              .append( "<a>" + item.label + "</a>" )
              .appendTo( ul );
        };
      })

使用.each可能なオートコンプリートが多数ある場合に備えて、@Mu Is Too Short の例に続くステートメントを使用しました。

乾杯!

于 2012-08-29T13:43:41.707 に答える