[英]Highcharts Chart Bar - How can I display in the chart, only one column from my HTML table?
[英]How can I get only one column value from html table?
我有一個html表,顯示用戶ID,名稱和電子郵件的列表。 當用戶單擊任意行時,我將獲得該行的ID號並發送到我的后端。 因此,我這樣做:
//Making the table
var trs = document.getElementsByTagName('tr');
for (var i = 0; i < trs.length; i++) {
trs[i].onclick = clickHandler;
}
處理點擊的函數:
function clickHandler(event) {
var numb = this.innerText.match(/\d/g);
numb = numb.join("");
window.location.replace("chooseParticipant.php?id="+numb);
}
表示例:
<div id="table">
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>E-mail</th>
</tr>
</thead>
<tbody>
<td>7</td>
<td>Test User</td>
<td>testuser123@example.com</td>
</tbody>
</table>
</div>
那會發生什么呢? 如果用戶的電子郵件中包含數字,則“ numb”變量也會獲取這些數字。 我不知道如何僅過濾ID號。 有人有什么想法嗎?
您可以為標簽分配一個類。 如下所示:
<td class="id">7</td>
在javascript代碼中,您可以獲取所有帶有“ id”類的元素。 然后對每個按鈕執行點擊處理程序。
var trs = document.getElementsByClassName('id');
我希望這有幫助。
試試這個使用data-*
屬性的代碼片段
document.addEventListener('DOMContentLoaded', function(e) { var trs = document.querySelectorAll('#table tbody tr'); var repeater = Array.prototype.slice; repeater.call(trs).forEach(function(tr) { tr.addEventListener('click', function(e) { var data = tr.querySelector('td[data-id]').dataset; console.log('id=', data.id); }); }); });
tbody { cursor: pointer; }
<div id="table"> <table border="1" cellspacing="0" cellpadding="3"> <thead> <tr> <th>ID</th> <th>Name</th> <th>E-mail</th> </tr> </thead> <tbody> <tr> <td data-id="7">7</td> <td>Test User 1</td> <td>testuser1231@gmail.com</td> </tr> <tr> <td data-id="8">8</td> <td>Test User 2</td> <td>testuser1232@gmail.com</td> </tr> <tr> <td data-id="9">9</td> <td>Test User 3</td> <td>testuser1233@gmail.com</td> </tr> </tbody> </table> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.