Jquery Datatables 多个表
Jquery Datatables multiple tables
我有一个包含多个选项的下拉列表,使用 javascript 初始化数据表。一切正常,但当我有两个 json 数据要显示如下时,问题就来了,请看这个 fiddle
Chelsea Goalkepeers
______________________________________________________________________________
playerName | Player Club | Player Value | player Points
______________________________________________________________________________
Chelsea Defenders
______________________________________________________________________________
playerName | Player Club | Player Value | player Points
这是代码
HTML
<select id="playersFilter">
<option>Choose Players</option>
<option value="gk">goalkepeers</option>
<option value="def">Defenders</option>
<option value="Chelsea">Chelsea</option>
</select>
<table class="display" id="players"></table>
JAVASCRIPT
var goalkepeers = [{
"playerName": "Mignolet",
"playerClub": "Liverpool",
"playerValue": "5.0",
"playerPoints": "89"
}, {
"playerName": "de Gea",
"playerClub": "Manchester",
"playerValue": "6.7",
"playerPoints": "120"
}];
var defenders = [{
"playerName": "Ivanovic",
"playerClub": "Chelsea",
"playerValue": "7.8",
"playerPoints": "100"
}, {
"playerName": "Mertesacker",
"playerClub": "Arsenal",
"playerValue": "7.7",
"playerPoints": "110"
}];
var chelseaKeepers= [{
"playerName": "Courtois",
"playerClub": "chelsea",
"playerValue": "5.5",
"playerPoints": "121"
}, {
"playerName": "Begovic",
"playerClub": "chelsea",
"playerValue": "5.0",
"playerPoints": "106"
}];
var chelseaDefenders= [{
"playerName": "Ivanovic",
"playerClub": "Chelsea",
"playerValue": "7.8",
"playerPoints": "100"
}, {
"playerName": "Terry",
"playerClub": "chelsea",
"playerValue": "7.0",
"playerPoints": "177"
}];
var aoColumns = [{
"sTitle": "Name",
"mDataProp": "playerName"
}, {
"sTitle": "Club",
"mDataProp": "playerClub"
}, {
"sTitle": "Value",
"mDataProp": "playerValue"
}, {
"sTitle": "Points",
"mDataProp": "playerPoints"
}];
var table = $('#players').DataTable({
"iDisplayLength": 15,
"columns": aoColumns,
"order": [
[3, "desc"]
],
"destroy": true
});
$("#playersFilter").change(function () {
var value = this.value;
if (value == "gk") {
table.clear().rows.add(goalkepeers).draw();
} else if (value == "def") {
table.clear().rows.add(defenders).draw();
} else {
table.clear().draw();
}
});
我想要的只是选择团队选项时显示的数据,如上所示。任何帮助请...
您必须自己进行分组。我现在没时间。查看数据表文档并查找行分组:
更新:
更好的解决方案是:
else if(value= "Chelsea")
{
table.clear().rows.add(chelseaKeepers.concat(chelseaDefenders)).draw();
}
我有一个包含多个选项的下拉列表,使用 javascript 初始化数据表。一切正常,但当我有两个 json 数据要显示如下时,问题就来了,请看这个 fiddle
Chelsea Goalkepeers
______________________________________________________________________________
playerName | Player Club | Player Value | player Points
______________________________________________________________________________
Chelsea Defenders
______________________________________________________________________________
playerName | Player Club | Player Value | player Points
这是代码
HTML
<select id="playersFilter">
<option>Choose Players</option>
<option value="gk">goalkepeers</option>
<option value="def">Defenders</option>
<option value="Chelsea">Chelsea</option>
</select>
<table class="display" id="players"></table>
JAVASCRIPT
var goalkepeers = [{
"playerName": "Mignolet",
"playerClub": "Liverpool",
"playerValue": "5.0",
"playerPoints": "89"
}, {
"playerName": "de Gea",
"playerClub": "Manchester",
"playerValue": "6.7",
"playerPoints": "120"
}];
var defenders = [{
"playerName": "Ivanovic",
"playerClub": "Chelsea",
"playerValue": "7.8",
"playerPoints": "100"
}, {
"playerName": "Mertesacker",
"playerClub": "Arsenal",
"playerValue": "7.7",
"playerPoints": "110"
}];
var chelseaKeepers= [{
"playerName": "Courtois",
"playerClub": "chelsea",
"playerValue": "5.5",
"playerPoints": "121"
}, {
"playerName": "Begovic",
"playerClub": "chelsea",
"playerValue": "5.0",
"playerPoints": "106"
}];
var chelseaDefenders= [{
"playerName": "Ivanovic",
"playerClub": "Chelsea",
"playerValue": "7.8",
"playerPoints": "100"
}, {
"playerName": "Terry",
"playerClub": "chelsea",
"playerValue": "7.0",
"playerPoints": "177"
}];
var aoColumns = [{
"sTitle": "Name",
"mDataProp": "playerName"
}, {
"sTitle": "Club",
"mDataProp": "playerClub"
}, {
"sTitle": "Value",
"mDataProp": "playerValue"
}, {
"sTitle": "Points",
"mDataProp": "playerPoints"
}];
var table = $('#players').DataTable({
"iDisplayLength": 15,
"columns": aoColumns,
"order": [
[3, "desc"]
],
"destroy": true
});
$("#playersFilter").change(function () {
var value = this.value;
if (value == "gk") {
table.clear().rows.add(goalkepeers).draw();
} else if (value == "def") {
table.clear().rows.add(defenders).draw();
} else {
table.clear().draw();
}
});
我想要的只是选择团队选项时显示的数据,如上所示。任何帮助请...
您必须自己进行分组。我现在没时间。查看数据表文档并查找行分组:
更新: 更好的解决方案是:
else if(value= "Chelsea")
{
table.clear().rows.add(chelseaKeepers.concat(chelseaDefenders)).draw();
}