I want to hide certain rows in my table when I click a button as well as retain certain rows. For example, I clicked "Show Fire-based champs" button. It will only show champs that have the Fire attribute and will hide the rest (from the same table). I clicked another button called "Show Water-based champs" that will only show champs that have the Water attribute and will hide the rest etc. and will be the same for other buttons. Anyone can make a code for it? I'm not experienced in JS.
Here is how the main table looks like (just a sample, there are a lot more table rows).
<table border="1" width="800">
<thead><tr>
<th>Hero</th>
<th>Class</th>
<th>Offensive Skill</th>
<th>Passive Skill</th>
<th>Ultimate</th>
</tr></thead>
<tbody>
<tr><td><a class="holy">Arcana</a></td>
<td>the Arcane Manipulator</td>
<td> - </td>
<td> - </td>
<td>Arcane Destroyer</td></tr>
<tr><td><a class="fire">Azakiel</a></td>
<td>the Blood Mage</td>
<td> - </td>
<td>Elf Blood</td>
<td>Call of the Phoenix</td></tr>
<tr><td><a class="wind">Bahamut</a></td>
<td>the King of the Skies</td>
<td> - </td>
<td> - </td>
<td>Mega Flare</td></tr>
<tr><td><a class="dark">Carinblack</a></td>
<td>the Dark Assailant</td>
<td>Sword Bash</td>
<td> - </td>
<td>Blade of the Dark</td></tr>
<tr><td><a class="earth">Dran</a></td>
<td>the Steel Beast</td>
<td>Rushing Tackle</td>
<td> - </td>
<td>Rolling Thunder</td></tr>
<tr><td><a class="water">Fenrir</a></td>
<td>the Water Emperor</td>
<td>Water Barrage</td>
<td> - </td>
<td>Waterfall</td></tr>
<tr><td><a class="thunder">Larza</a></td>
<td>the Lightning Heroine</td>
<td>Staff of Lightning</td>
<td> - </td>
<td>Storm Surge</td></tr>
<tr><td><a class="thunder">Razor</a></td>
<td>the Thunder Emperor</td>
<td>Thunder Strike</td>
<td> - </td>
<td>Thunderstorm</td></tr>
I want to hide certain rows in my table when I click a button as well as retain certain rows. For example, I clicked "Show Fire-based champs" button. It will only show champs that have the Fire attribute and will hide the rest (from the same table). I clicked another button called "Show Water-based champs" that will only show champs that have the Water attribute and will hide the rest etc. and will be the same for other buttons. Anyone can make a code for it? I'm not experienced in JS.
Here is how the main table looks like (just a sample, there are a lot more table rows).
<table border="1" width="800">
<thead><tr>
<th>Hero</th>
<th>Class</th>
<th>Offensive Skill</th>
<th>Passive Skill</th>
<th>Ultimate</th>
</tr></thead>
<tbody>
<tr><td><a class="holy">Arcana</a></td>
<td>the Arcane Manipulator</td>
<td> - </td>
<td> - </td>
<td>Arcane Destroyer</td></tr>
<tr><td><a class="fire">Azakiel</a></td>
<td>the Blood Mage</td>
<td> - </td>
<td>Elf Blood</td>
<td>Call of the Phoenix</td></tr>
<tr><td><a class="wind">Bahamut</a></td>
<td>the King of the Skies</td>
<td> - </td>
<td> - </td>
<td>Mega Flare</td></tr>
<tr><td><a class="dark">Carinblack</a></td>
<td>the Dark Assailant</td>
<td>Sword Bash</td>
<td> - </td>
<td>Blade of the Dark</td></tr>
<tr><td><a class="earth">Dran</a></td>
<td>the Steel Beast</td>
<td>Rushing Tackle</td>
<td> - </td>
<td>Rolling Thunder</td></tr>
<tr><td><a class="water">Fenrir</a></td>
<td>the Water Emperor</td>
<td>Water Barrage</td>
<td> - </td>
<td>Waterfall</td></tr>
<tr><td><a class="thunder">Larza</a></td>
<td>the Lightning Heroine</td>
<td>Staff of Lightning</td>
<td> - </td>
<td>Storm Surge</td></tr>
<tr><td><a class="thunder">Razor</a></td>
<td>the Thunder Emperor</td>
<td>Thunder Strike</td>
<td> - </td>
<td>Thunderstorm</td></tr>
1 Answer
Reset to default 2Use show()
and hide()
For example, when "Show fire-based champs" is clicked, do:
$('tbody tr').hide() //Hide all rows
$('tbody tr:has(a.fire)').show() //Show all fire rows
Here is a jsfiddle that has all the code in it
HTML code:
<html><head>
<script type="text/javascript" src="http://code.jquery./jquery-2.0.0b1.js"></script>
<script type="text/javascript">
function show(champ){
$('tbody tr').hide()
$('tbody tr:has(a.'+champ+')').show()
}
</script>
</head>
<body>
<table border="1" width="800">
<thead><tr>
<th>Hero</th>
<th>Class</th>
<th>Offensive Skill</th>
<th>Passive Skill</th>
<th>Ultimate</th>
</tr></thead>
<tbody>
<tr><td><a class="holy">Arcana</a></td>
<td>the Arcane Manipulator</td>
<td> - </td>
<td> - </td>
<td>Arcane Destroyer</td></tr>
<tr><td><a class="fire">Azakiel</a></td>
<td>the Blood Mage</td>
<td> - </td>
<td>Elf Blood</td>
<td>Call of the Phoenix</td></tr>
<tr><td><a class="wind">Bahamut</a></td>
<td>the King of the Skies</td>
<td> - </td>
<td> - </td>
<td>Mega Flare</td></tr>
<tr><td><a class="dark">Carinblack</a></td>
<td>the Dark Assailant</td>
<td>Sword Bash</td>
<td> - </td>
<td>Blade of the Dark</td></tr>
<tr><td><a class="earth">Dran</a></td>
<td>the Steel Beast</td>
<td>Rushing Tackle</td>
<td> - </td>
<td>Rolling Thunder</td></tr>
<tr><td><a class="water">Fenrir</a></td>
<td>the Water Emperor</td>
<td>Water Barrage</td>
<td> - </td>
<td>Waterfall</td></tr>
<tr><td><a class="thunder">Larza</a></td>
<td>the Lightning Heroine</td>
<td>Staff of Lightning</td>
<td> - </td>
<td>Storm Surge</td></tr>
<tr><td><a class="thunder">Razor</a></td>
<td>the Thunder Emperor</td>
<td>Thunder Strike</td>
<td> - </td>
<td>Thunderstorm</td></tr>
</tbody>
</table>
<button onclick="show("fire")">Show fire</button>
<button onclick="show("water")">Show water</button>
<button onclick="show("thunder")">Show thunder</button>
<button onclick="show("dark")">Show dark</button>
<button onclick="show("earth")">Show earth</button>
<button onclick="show("holy")">Show holy</button>
<button onclick="show("wind")">Show wind</button>
<button onclick="$('tbody tr').show() ">Show all</button>
</body></html>
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745313581a4622112.html
评论列表(0条)