2014-03-05 87 views
2

我正在搜索我的表格列的字符串「無」。它這樣做,但我無法獲得行號後。我試圖使用「rowIndex」屬性。不知道爲什麼它拉動「不是數字」(NaN)。表是50行10列。我假設它可能與我從一列而不是行拉開來。Javascript - 搜索表格列的字符串

function F0416()                 
{ 

var tab = document.getElementById('part1Table'); 
var l = tab.rows.length; 
var s = ''; 
for (var i = 0; i < l; i++) 
{var tr = tab.rows[i]; 
var cll = tr.cells[2];                
s += ' ' + cll.innerText; 
} 

var y = (s.indexOf('None') != -1)             
document.write(this.rowIndex + 1) 
+1

什麼「這個」的價值?確保它是當前行。 – krisk

回答

2

而不是列的所有值串聯成一個字符串和搜索字符串,你可以代替的價值「無」列測試每個單元格的值。然後你會知道循環計數器的行號,如果你發現它而不是遍歷每一行,你可以停止循環。

它看起來更像是這樣的:

for (var i = 0; i < l; i++) { 
    var tr = tab.rows[i]; 
    var cll = tr.cells[2];                
    if(cll.innerText.indexOf('None') != -1) { 
     document.write(i + 1); 
     break; 
    } 
} 

您還可以返回該行的值,而不是將其輸出。

+0

對不起,我幾天沒有回答。我在工作中有其他的義務,這是我一直以來的工作。我與「超現實主義的夢想」一起走過了。我只是粘貼了代碼,它工作。我相信JQuery的答案會起作用,但我現在不使用它。我現在只用了大約一個星期的時間編寫腳本,只是試圖使用它。謝謝你的答案。 – JohnB

1

我會建議使用豐富的JavaScript庫如jQuery。

然後給下面的HTML:

<table> 
    <tr><td>Row 1- Column 1</td><td>Row 1 - Column 2</td> 
    <tr><td>none</td><td>Row 2 - Column 2</td> 
    <tr><td>Row 3- Column 1</td><td>Row 3 - Column 2</td> 
</table> 

您可以使用以下方法來獲取包含所有行none

var rows = $('table tr').filter(":contains('none')");

看一看this Fiddle example.