2012-08-02 46 views
1

我在我的HTML中有一個表格,在此表格中,<td>標記中的各個值是從Javascript數組中生成的。在HTML表格中查找重複的數據

我想比較<td>標記中包含的值,並檢查是否有重複項。

+1

向我們展示一些代碼。你有什麼嘗試? – rsplak 2012-08-02 07:10:47

+2

嗨,歡迎來到Stack Overflow!恐怕,爲了我們能夠幫助你解決這個問題,你需要解釋你想要比較的事件('mouseover','DOMReady','mousedown','keydown'等等)執行後,發佈HTML和數組進行檢查。 – 2012-08-02 07:13:11

回答

4

<td>元素沒有,它們具有內容(可能包含或不包含其他元素)。如果您的問題是「如何檢查沒有兩個td元素具有相同的內容?」你可以做這樣的事情:

var contents = {}, 
    duplicates = false; 
$("#yourtableidhere td").each(function() { 
    var tdContent = $(this).text(); 
    if (contents[tdContent]) { 
     duplicates = true; 
     return false; 
    } 
    contents[tdContent] = true; 
});  
if (duplicates) 
    alert("There were duplicates."); 

何時進行此過程中不說,但如果在響應用戶點擊按鈕或東西,然後把上面的代碼中click事件處理程序。

演示:http://jsfiddle.net/FA6SR/

很明顯,你可以展開上述準確注意哪些細胞具有重複值,什麼值分別爲等

編輯 - 附:你提到這些值來自一個數組。對數組進行比較測試,而不是針對表格單元,而是在運行時更高效。 jQuery對此沒有幫助,你只需要使用標準的for循環。

+0

謝謝..實際上,td值默認來自數組值。代替$(this).text();我用$(this).val();工作很好..非常感謝你的代碼 – shiva 2012-08-02 09:22:35

+1

接受這個答案... – 2012-08-02 09:40:13