admin管理员组

文章数量:1332382

I am trying to use , basically I want to show image in the table. What I've done so far is ; but it wont display the image as img tag instead it considers it as string

<body>
<script type="text/javascript">
$(function(){
    $("#output").pivotUI(
        [ 
            {product: "product1", image: "<img src='image1' alt='' height='42' width='42'>"}, 
            {product: "product2", image: "<img src='image2' alt='' height='42' width='42'>"}
        ]
    );
});
</script>

<p><a href=".html">« back to examples</a></p>
<div id="output" style="margin: 10px;"></div>
</body>

I am trying to use https://github./nicolaskruchten/pivottable, basically I want to show image in the table. What I've done so far is ; but it wont display the image as img tag instead it considers it as string

<body>
<script type="text/javascript">
$(function(){
    $("#output").pivotUI(
        [ 
            {product: "product1", image: "<img src='image1' alt='' height='42' width='42'>"}, 
            {product: "product2", image: "<img src='image2' alt='' height='42' width='42'>"}
        ]
    );
});
</script>

<p><a href="http://nicolas.kruchten./pivottable/examples/index.html">« back to examples</a></p>
<div id="output" style="margin: 10px;"></div>
</body>
Share edited Feb 22, 2015 at 22:29 nicolaskruchten 27.4k8 gold badges88 silver badges103 bronze badges asked Sep 23, 2014 at 19:02 KttKtt 4693 gold badges8 silver badges18 bronze badges 2
  • This is now a supported feature :) – nicolaskruchten Commented Jan 8, 2015 at 12:40
  • I had to unfortunately remove support for this feature after all as it created an XSS security vulnerability. See github./nicolaskruchten/pivottable/pull/401 for details – nicolaskruchten Commented Dec 11, 2015 at 14:01
Add a ment  | 

1 Answer 1

Reset to default 5

Since the table renderer does not support html values for th elements, it sets explicitely the textContent property of th you must create your own renderer. You have two choices:

1.Create a renderer based on Table renderer code and change textContent to innerHTML. I will use a jsfiddle snippet since the render function is pretty big: http://jsfiddle/u3pwa0tx/

2.Reuse existing Table renderer which displays the html as plain text but before returning it to the parent to be appended, move all th text to th html.

Edit: I created a pull request on main repository https://github./nicolaskruchten/pivottable/pull/214

$(function(){
    var rendererHtml = function(){
        var result = pivotTableRenderer2.apply(this,arguments);
        $(result).find('th').each(function(index,elem){
            var $elem = $(elem);
            $elem.html($elem.text());
        })
        return result;
    }

    $("#output").pivotUI(
        [ 
            {product: "product1", image: "<img src='image1' alt='' height='42' width='42'>"}, 
            {product: "product2", image: "<img src='image2' alt='' height='42' width='42'>"}
        ],{
            renderers:{
                'table2Renderer': rendererHtml
            }
        }
    );
 });

本文标签: javascriptpivottable display html in tableStack Overflow