|
|
| (未显示同一用户的1个中间版本) |
| 第1行: |
第1行: |
| <includeonly> | | <includeonly> |
| <script> | | <tr class="role-row" data-bonds="{{{羁绊|}}}"> |
| (function() {
| | <td>{{{图片|}}}</td> |
| // ============ 按你的游戏修改固定羁绊列表 ============
| | <td>[[{{{_pageName|}}}|{{{名称|}}}]]</td> |
| const BOND_LIST = ['全部', '法师', '狂战士', '圣盾战士', '木灵使', '战略分析', '水之女神']; | | <td>{{{稀有度|}}}</td> |
| | | <td>{{{费用|}}}</td> |
| function initChessFilter() {
| | <td>{{{定位|}}}</td> |
| var container = document.getElementById('chess-table');
| | <td>{{{羁绊|}}}</td> |
| if (!container) return;
| | </tr> |
| var table = container.querySelector('table.cargoDynamicTable');
| |
| if (!table) return;
| |
| var headerCells = table.querySelectorAll('thead th');
| |
| var targetSelect = null;
| |
| var bondColumnIndex = -1;
| |
| | |
| headerCells.forEach(function(th, idx) {
| |
| var select = th.querySelector('select');
| |
| if (select && th.getAttribute('data-field') === '羁绊') {
| |
| targetSelect = select;
| |
| bondColumnIndex = idx;
| |
| }
| |
| });
| |
| if (!targetSelect || bondColumnIndex === -1) return;
| |
| | |
| // 替换下拉选项
| |
| targetSelect.innerHTML = '';
| |
| BOND_LIST.forEach(function(bond) {
| |
| var opt = document.createElement('option');
| |
| opt.value = bond;
| |
| opt.textContent = bond;
| |
| targetSelect.appendChild(opt);
| |
| });
| |
| targetSelect.value = '全部';
| |
| | |
| // 移除原有事件,替换为新节点
| |
| var newSelect = targetSelect.cloneNode(true);
| |
| targetSelect.parentNode.replaceChild(newSelect, targetSelect);
| |
| targetSelect = newSelect;
| |
| | |
| var tbody = table.querySelector('tbody');
| |
| if (!tbody) return;
| |
| var rows = tbody.querySelectorAll('tr');
| |
| | |
| function filterBond() {
| |
| var selected = targetSelect.value;
| |
| rows.forEach(function(row) {
| |
| var cells = row.querySelectorAll('td');
| |
| if (cells.length <= bondColumnIndex) return;
| |
| var bondText = cells[bondColumnIndex].textContent.trim();
| |
| if (selected === '全部') {
| |
| row.style.display = '';
| |
| return;
| |
| }
| |
| var bonds = bondText.split(/[,,、]/).map(function(s) { return s.trim(); });
| |
| row.style.display = bonds.indexOf(selected) !== -1 ? '' : 'none';
| |
| });
| |
| }
| |
| | |
| targetSelect.addEventListener('change', filterBond);
| |
| } | |
| | |
| if (document.readyState === 'loading') {
| |
| document.addEventListener('DOMContentLoaded', initChessFilter);
| |
| } else {
| |
| initChessFilter();
| |
| }
| |
| })(); | |
| </script> | |
| <style> | |
| /* 可选的下拉样式 */
| |
| #chess-table select {
| |
| padding: 2px 6px;
| |
| border-radius: 4px;
| |
| border: 1px solid #8B0000;
| |
| color: #8B0000;
| |
| font-weight: bold;
| |
| } | |
| </style> | |
| </includeonly> | | </includeonly> |