【发布时间】:2021-01-29 23:38:12
【问题描述】:
我需要一些帮助来编写一个 javascript 函数来检索单击的值以及单击多个表中的特定列(层)时的表 ID。
例如,当我单击第 1 层时,我试图将其分配给 tier_token 并根据表 id 设置客户端 --> tier_token=Tier 1, client=products。 如果我点击 Tier 2 , tier_token=Tier 1, client=products 。 如果我从客户表中单击第 1 层,则 tier_token=Tier 1 和 client=customers,依此类推。
在我的脚本中,我一直在使用document.getElementById,我想拥有一些可以同时用于多个表 id 的东西,检索该 id 值,并将其设置为变量 client - 因为虽然我只列出了几个表,我需要稍后定义多个表。
另外,我想只允许点击 Tier 列并阻止点击 Points 列。
<html>
<table class="table" id="products">
<tr>
<th>Tier</th>
<th>Points</th>
</tr>
<tr>
<td>Tier1</td>
<td>0</td>
</tr>
<tr>
<td>Tier2</td>
<td>10</td>
</tr>
<tr>
<td>Tier3</td>
<td>100</td>
</tr>
</table>
<table class="table" id="customers">
<tr>
<th>Tier</th>
<th>Points</th>
</tr>
<tr>
<td>Tier1</td>
<td>10</td>
</tr>
<tr>
<td>Tier2</td>
<td>20</td>
</tr>
<tr>
<td>Tier3</td>
<td>500</td>
</tr>
<tr>
<td>Tier4</td>
<td>21</td>
</tr>
</table>
</html>
脚本:
<script>
var table = document.getElementById("customers");
if (table != null) {
for (var i = 1; i < table.rows.length; i++) {
for (var j = 0; j < table.rows[i].cells.length; j++)
table.rows[i].cells[j].onclick = function () {
tableText(this);
};
}
}
function tableText(tableCell) {
//alert(tableCell.innerHTML);
var tier_token=tableCell.innerHTML;
var client = "customers";
console.log("Tier:"+ tier_token);
console.log("Client:"+ client);
alert("Tier:"+ tier_token + "Client:"+ client);
}
</script>
【问题讨论】:
标签: javascript jquery html-table