2017-10-05 153 views
0

我有多個動態表頁,表格的一個看起來像下面的結構獲取表格單元格值

Col1 Col2 Col3 
1 One Two 
2 b 15/12/2017 
3 a X 
2 W 10/12/2014 

HTML

<table id="table1"> 
<tbody> 
<tr> 
<th>Col1</th> 
<th>Col2</th> 
<th>Col3</th> 
</tr> 
<tr> <td>1</td> 
    <td>b</td> 
    <td>15/12/2017</td> 
</tr> 
<tr> <td>2</td> 
    <td>b</td> 
    <td>15/10/2017</td> 
</tr> 

<tr> <td>3</td> 
    <td>b</td> 
    <td>15/09/2017</td> 
</tr> 
</tbody> 
</table> 

我會想知道如何根據col1的值得到標題名稱爲col3的單元格?

EX:

我想通過ID查找表,並檢查它的第一個單元格的每一行,如果它等於2,然後在同一行中得到的col 3單元格的值!

任何幫助將得到完全讚賞

+1

能否請您發表您的表格標記獲取特定列,所以我們可以看到如何提取單元格的值? – Nope

+0

這是生成表格,但我試圖添加主結構 – Aashirya

+0

即使自動生成,如果您複製部分**結果**標記,我們可以看到你有什麼。可能有數據屬性,類或其他我們可以用來進行選擇。如果您可以發佈迄今爲止的任何代碼,那麼它也會有所幫助,以便我們可以幫助解決您的解決方案。 – Nope

回答

2

你可以嘗試一些像下面的代碼片段的jQuery。

更新:您可以通過表頭以及使用$('th:contains("col3")').index()

$(document).ready(function() { 
 
    $('#myTable').find('tbody td:first-child').each(function() { 
 
    if ($(this).text() == '2') { 
 
     console.log($(this).closest('tr').find('td').eq($('th:contains("col3")').index()).text()); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="myTable"> 
 
    <thead> 
 
    <th>col1</th> 
 
    <th>col2</th> 
 
    <th>col3</th> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td>1</td> 
 
     <td>one</td> 
 
     <td>ONE</td> 
 
    </tr> 
 
    <tr> 
 
     <td>2</td> 
 
     <td>two</td> 
 
     <td>TWO</td> 
 
    </tr> 
 
    <tr> 
 
     <td>3</td> 
 
     <td>three</td> 
 
     <td>THREE</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+0

謝謝,我有多個表,我需要使用特定的表ID – Aashirya

+0

@Aashirya檢查更新的答案。 –

2

與jQuery相當容易;如果你找到了這個單元格,找到這一行,並找到該行中的第三個單元格;

$('td') // Select all cells 
.filter(function() { // Filter the cells 
    return $(this).text() == '2'; 
}) 
.closest('tr') // get the table row 
.find('td') // select all cells in that row 
.eq(2) // select the third cell (0-based index) 
.text(); // this will output '15/12/2017' 

編輯我今天心情很好,看看這個小演示; https://jsfiddle.net/a32knb81/。只需在輸入字段中輸入搜索關鍵字,即可獲得同一行中第三列的值。

+0

謝謝,怎麼得到與標題列名稱,而不是列索引,我不知道哪裏col 3訂單在他的表 – Aashirya

+0

你什麼意思與'標題列'完全一樣?給我你想要搜索的價值和你想找到的價值。 – giorgio

+0

@Aashirya檢查我的更新回答 –