Поворотный HTML-дисплей в таблице
Я пытаюсь использовать https://github.com/nicolaskruchten/pivottable, в основном я хочу показать изображение в таблице. То, что я сделал до сих пор, это; но оно не будет отображать изображение в виде тега img, а будет считать его строкой
<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.com/pivottable/examples/index.html">« back to examples</a></p>
<div id="output" style="margin: 10px;"></div>
</body>
1 ответ
Так как средство визуализации таблиц не поддерживает html-значения для элементов th, оно явно устанавливает textContent
Вы должны создать свой собственный рендерер. У вас есть два варианта:
1.Создать рендерер на основе кода рендерера таблиц и изменить textContent
в innerHTML
, Я буду использовать фрагмент jsfiddle, так как функция рендеринга довольно большая: http://jsfiddle.net/u3pwa0tx/
2. Повторно используйте существующий рендерер таблиц, который отображает html в виде простого текста, но перед возвратом его родительскому объекту, который нужно добавить, переместите весь этот текст в html.
Изменить: я создал запрос на извлечение в главном хранилище https://github.com/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
}
}
);
});