基本上,我需要两件事。
一:uniformJS风格化复选框在Handsontables中不起作用。 二:我需要在Handsontable标题中选中一个复选框,以在相应列中“选中所有”复选框。
我相信我可以通过jQuery .append()在表格中添加一个复选框,但有没有更正确的方法来使用Handsontables?提前谢谢。
的jQuery
$('input').uniform();
$(document).ready(function () {
function getCarData() {
return [
{car: "Mercedes A 160", year: 2006, available: true, comesInBlack: 'yes'},
{car: "Citroen C4 Coupe", year: 2008, available: false, comesInBlack: 'yes'},
{car: "Audi A4 Avant", year: 2011, available: true, comesInBlack: 'no'},
{car: "Opel Astra", year: 2004, available: false, comesInBlack: 'yes'},
{car: "BMW 320i Coupe", year: 2011, available: false, comesInBlack: 'no'}
];
}
$("#example1").handsontable({
data: getCarData(),
startRows: 7,
startCols: 4,
colHeaders: ["Car", "Year", ""],
colWidths: [120, 50, 60],
columnSorting: true,
columns: [
{
data: "car"
//1nd column is simple text, no special options here
},
{
data: "year",
type: 'numeric'
},
{
data: "available",
type: "checkbox"
}
]
});
});
HTML
<input type="checkbox" checked /> Checkbox
<div id="example1" class="handsontable"></div>
答案 0 :(得分:1)
你可以直接在handsontable colHeaders中添加标题中的“check all”并应用UniformJS你需要像这样使用回调afterRender
$("#example1").handsontable({
data: getCarData(),
startRows: 7,
startCols: 4,
colHeaders: ["Car", "Year", "<input type='checkbox' class='checkall' />"],//checkall inside colHeaders
colWidths: [120, 50, 60],
columnSorting: true,
columns: [
{
data: "car"
},
{
data: "year",
type: 'numeric'
},
{
data: "available",
type: "checkbox"
}
],
//afterRender so all the "available" checkbox use UniformJS
afterRender:function(){
$('input').uniform();
//click handler for .checkall
$('.checkall').on('click', function () {
//get all .htCheckboxRendererInput and change the property checked
$(this).closest('table').find('input.htCheckboxRendererInput').prop("checked",this.checked);
$.uniform.update();//update UniformJS
});
}
});